summaryrefslogtreecommitdiff
path: root/2024-04-04-041623-13412-1@d45586734d1f_master
diff options
context:
space:
mode:
authorraveit65 (via Travis CI) <[email protected]>2024-04-04 04:59:26 +0000
committerraveit65 (via Travis CI) <[email protected]>2024-04-04 04:59:26 +0000
commit72f0f799ed37cba50b7009c9cd19feb7ac74c4b1 (patch)
tree5cd05d83013c8698222ff326ad2c367f894b1cf1 /2024-04-04-041623-13412-1@d45586734d1f_master
downloadmate-panel-gh-pages.tar.bz2
mate-panel-gh-pages.tar.xz
Deploy mate-desktop/mate-panel to github.com/mate-desktop/mate-panel.git:gh-pagesgh-pages
Diffstat (limited to '2024-04-04-041623-13412-1@d45586734d1f_master')
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/index.html188
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-02d390.html1591
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-0e0727.html6265
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-0e9e9c.html868
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-0f6d0c.html2409
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-1eba91.html1074
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-2de153.html2041
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-313d65.html1077
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-3bfab8.html868
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-4646d6.html1906
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-51a1d8.html3246
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-56cac4.html2038
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-713bcf.html912
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-7c33d7.html2409
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-890f6c.html6243
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-92ce7b.html3246
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-a82458.html967
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-b083bc.html3246
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-b8f564.html2089
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-cf3974.html2089
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-cfdb46.html2588
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-d08495.html3246
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-d1a39f.html1375
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-d88d55.html3246
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-db7134.html1031
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-dcd45f.html6243
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-e04d58.html6243
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-f493c1.html3246
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-fb6164.html1409
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-fd4917.html6243
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/report-fec02c.html1509
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/scanview.css62
-rw-r--r--2024-04-04-041623-13412-1@d45586734d1f_master/sorttable.js492
33 files changed, 81705 insertions, 0 deletions
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/index.html b/2024-04-04-041623-13412-1@d45586734d1f_master/index.html
new file mode 100644
index 00000000..d3af9e65
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/index.html
@@ -0,0 +1,188 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@c4d5a0b3663f</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 17.0.6 (Fedora 17.0.6-2.fc39)
+</td></tr>
+<tr><th>Date:</th><td>Thu Apr 4 04:16:23 2024</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">30</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Logic error</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Assigned value is garbage or undefined</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_logic_error_assigned_value_is_garbage_or_undefined');" checked/></center></td></tr>
+<tr><td class="SUMM_DESC">Cast from non-struct type to struct type</td><td class="Q">14</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_logic_error_cast_from_non-struct_type_to_struct_type');" checked/></center></td></tr>
+<tr><td class="SUMM_DESC">Dereference of null pointer</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_logic_error_dereference_of_null_pointer');" checked/></center></td></tr>
+<tr><td class="SUMM_DESC">Result of operation is garbage or undefined</td><td class="Q">3</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_logic_error_result_of_operation_is_garbage_or_undefined');" checked/></center></td></tr>
+<tr><th>Unused code</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Dead assignment</td><td class="Q">4</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_unused_code_dead_assignment');" checked/></center></td></tr>
+<tr><td class="SUMM_DESC">Dead initialization</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_unused_code_dead_initialization');" checked/></center></td></tr>
+<tr><td class="SUMM_DESC">Unreachable code</td><td class="Q">6</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_unused_code_unreachable_code');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_logic_error_assigned_value_is_garbage_or_undefined"><td class="DESC">Logic error</td><td class="DESC">Assigned value is garbage or undefined</td><td>mate-panel/panel-toplevel.c</td><td class="DESC">panel_toplevel_update_size</td><td class="Q">2411</td><td class="Q">7</td><td><a href="report-0e0727.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-0e0727.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet-gsettings.c</td><td class="DESC">register_dconf_editor_relocatable_schema</td><td class="Q">99</td><td class="Q">1</td><td><a href="report-0e9e9c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-0e9e9c.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>mate-panel/panel-profile.c</td><td class="DESC">remove_from_dict</td><td class="Q">847</td><td class="Q">1</td><td><a href="report-0f6d0c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-0f6d0c.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet-gsettings.c</td><td class="DESC">add_to_dict</td><td class="Q">44</td><td class="Q">1</td><td><a href="report-3bfab8.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-3bfab8.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet.c</td><td class="DESC">mate_panel_applet_set_flags</td><td class="Q">228</td><td class="Q">1</td><td><a href="report-51a1d8.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-51a1d8.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>mate-panel/panel-profile.c</td><td class="DESC">unregister_dconf_editor_relocatable_schema</td><td class="Q">871</td><td class="Q">1</td><td><a href="report-7c33d7.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-7c33d7.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet.c</td><td class="DESC">mate_panel_applet_get_property</td><td class="Q">1704</td><td class="Q">1</td><td><a href="report-92ce7b.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-92ce7b.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet.c</td><td class="DESC">mate_panel_applet_setup</td><td class="Q">1825</td><td class="Q">1</td><td><a href="report-b083bc.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-b083bc.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>mate-panel/mate-submodules/libegg/eggsmclient-xsmp.c</td><td class="DESC">array_prop</td><td class="Q">1199</td><td class="Q">1</td><td><a href="report-b8f564.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-b8f564.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>mate-panel/mate-submodules/libegg/eggsmclient-xsmp.c</td><td class="DESC">ptrarray_prop</td><td class="Q">1232</td><td class="Q">1</td><td><a href="report-cf3974.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-cf3974.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet.c</td><td class="DESC">mate_panel_applet_set_size_hints</td><td class="Q">329</td><td class="Q">1</td><td><a href="report-d08495.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-d08495.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>mate-panel/panel-multimonitor.c</td><td class="DESC">panel_multimonitor_get_randr_monitors</td><td class="Q">211</td><td class="Q">1</td><td><a href="report-d1a39f.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-d1a39f.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet.c</td><td class="DESC">mate_panel_applet_set_size_hints</td><td class="Q">336</td><td class="Q">1</td><td><a href="report-d88d55.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-d88d55.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>mate-panel/panel-context-menu.c</td><td class="DESC">panel_context_menu_create</td><td class="Q">305</td><td class="Q">1</td><td><a href="report-db7134.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-db7134.html" -->
+</tr>
+<tr class="bt_logic_error_cast_from_non-struct_type_to_struct_type"><td class="DESC">Logic error</td><td class="DESC">Cast from non-struct type to struct type</td><td>libmate-panel-applet/mate-panel-applet.c</td><td class="DESC">get_property_cb</td><td class="Q">2246</td><td class="Q">1</td><td><a href="report-f493c1.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-f493c1.html" -->
+</tr>
+<tr class="bt_unused_code_dead_assignment"><td class="DESC">Unused code</td><td class="DESC">Dead assignment</td><td>mate-panel/panel-toplevel.c</td><td class="DESC">panel_toplevel_update_attach_orientation</td><td class="Q">2554</td><td class="Q">1</td><td><a href="report-890f6c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-890f6c.html" -->
+</tr>
+<tr class="bt_unused_code_dead_assignment"><td class="DESC">Unused code</td><td class="DESC">Dead assignment</td><td>mate-panel/panel-toplevel.c</td><td class="DESC">panel_toplevel_update_expanded_position</td><td class="Q">2062</td><td class="Q">1</td><td><a href="report-dcd45f.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-dcd45f.html" -->
+</tr>
+<tr class="bt_unused_code_dead_assignment"><td class="DESC">Unused code</td><td class="DESC">Dead assignment</td><td>mate-panel/panel-toplevel.c</td><td class="DESC">panel_toplevel_resize_to_pointer</td><td class="Q">591</td><td class="Q">1</td><td><a href="report-e04d58.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-e04d58.html" -->
+</tr>
+<tr class="bt_unused_code_dead_assignment"><td class="DESC">Unused code</td><td class="DESC">Dead assignment</td><td>mate-panel/panel-toplevel.c</td><td class="DESC">panel_toplevel_update_expanded_position</td><td class="Q">2063</td><td class="Q">1</td><td><a href="report-fd4917.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-fd4917.html" -->
+</tr>
+<tr class="bt_unused_code_dead_initialization"><td class="DESC">Unused code</td><td class="DESC">Dead initialization</td><td>applets/notification_area/status-notifier/sn-host-v0-gen.c</td><td class="DESC">sn_host_v0_gen_skeleton_dbus_interface_get_properties</td><td class="Q">805</td><td class="Q">1</td><td><a href="report-02d390.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-02d390.html" -->
+</tr>
+<tr class="bt_logic_error_dereference_of_null_pointer"><td class="DESC">Logic error</td><td class="DESC">Dereference of null pointer</td><td>mate-panel/libpanel-util/panel-launch.c</td><td class="DESC">_panel_launch_handle_error</td><td class="Q">72</td><td class="Q">41</td><td><a href="report-313d65.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-313d65.html" -->
+</tr>
+<tr class="bt_logic_error_result_of_operation_is_garbage_or_undefined"><td class="DESC">Logic error</td><td class="DESC">Result of operation is garbage or undefined</td><td>applets/wncklet/window-list.c</td><td class="DESC">preview_window_reposition</td><td class="Q">431</td><td class="Q">24</td><td><a href="report-2de153.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-2de153.html" -->
+</tr>
+<tr class="bt_logic_error_result_of_operation_is_garbage_or_undefined"><td class="DESC">Logic error</td><td class="DESC">Result of operation is garbage or undefined</td><td>applets/wncklet/window-list.c</td><td class="DESC">preview_window_reposition</td><td class="Q">425</td><td class="Q">22</td><td><a href="report-56cac4.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-56cac4.html" -->
+</tr>
+<tr class="bt_logic_error_result_of_operation_is_garbage_or_undefined"><td class="DESC">Logic error</td><td class="DESC">Result of operation is garbage or undefined</td><td>mate-panel/libpanel-util/panel-glib.c</td><td class="DESC">panel_g_utf8_strstrcase</td><td class="Q">147</td><td class="Q">26</td><td><a href="report-713bcf.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-713bcf.html" -->
+</tr>
+<tr class="bt_unused_code_unreachable_code"><td class="DESC">Unused code</td><td class="DESC">Unreachable code</td><td>mate-panel/panel-test-applets.c</td><td class="DESC">main</td><td class="Q">360</td><td class="Q">1</td><td><a href="report-1eba91.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-1eba91.html" -->
+</tr>
+<tr class="bt_unused_code_unreachable_code"><td class="DESC">Unused code</td><td class="DESC">Unreachable code</td><td>mate-panel/launcher.c</td><td class="DESC">launcher_load_from_gsettings</td><td class="Q">951</td><td class="Q">1</td><td><a href="report-4646d6.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-4646d6.html" -->
+</tr>
+<tr class="bt_unused_code_unreachable_code"><td class="DESC">Unused code</td><td class="DESC">Unreachable code</td><td>mate-panel/libpanel-util/panel-launch.c</td><td class="DESC">panel_launch_desktop_file_with_fallback</td><td class="Q">285</td><td class="Q">1</td><td><a href="report-a82458.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-a82458.html" -->
+</tr>
+<tr class="bt_unused_code_unreachable_code"><td class="DESC">Unused code</td><td class="DESC">Unreachable code</td><td>applets/fish/fish.c</td><td class="DESC">handle_keypress</td><td class="Q">1578</td><td class="Q">1</td><td><a href="report-cfdb46.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-cfdb46.html" -->
+</tr>
+<tr class="bt_unused_code_unreachable_code"><td class="DESC">Unused code</td><td class="DESC">Unreachable code</td><td>libmate-panel-applet/tmp-introspect_iivi73i/MatePanelApplet-4.0.c</td><td class="DESC">value_to_string</td><td class="Q">181</td><td class="Q">1</td><td><a href="report-fb6164.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-fb6164.html" -->
+</tr>
+<tr class="bt_unused_code_unreachable_code"><td class="DESC">Unused code</td><td class="DESC">Unreachable code</td><td>mate-panel/panel-background.c</td><td class="DESC">panel_background_make_string</td><td class="Q">782</td><td class="Q">1</td><td><a href="report-fec02c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-fec02c.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-02d390.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-02d390.html
new file mode 100644
index 00000000..93498889
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-02d390.html
@@ -0,0 +1,1591 @@
+<!doctype html>
+<html>
+<head>
+<title>sn-host-v0-gen.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Value stored to 'skeleton' during its initialization is never read -->
+
+<!-- BUGTYPE Dead initialization -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/applets/notification_area/status-notifier/sn-host-v0-gen.c -->
+
+<!-- FILENAME sn-host-v0-gen.c -->
+
+<!-- FUNCTIONNAME sn_host_v0_gen_skeleton_dbus_interface_get_properties -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 02d390caf157ed80fd67e1b45e14ad5d -->
+
+<!-- BUGLINE 805 -->
+
+<!-- BUGCOLUMN 24 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>applets/notification_area/status-notifier/sn-host-v0-gen.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 805, column 24</a><br />Value stored to 'skeleton' during its initialization is never read</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name sn-host-v0-gen.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/applets/notification_area/status-notifier -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../../.. -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I . -I ./.. -D MATELOCALEDIR="/usr/local/share/locale" -D G_LOG_DOMAIN="notification-area-applet" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/applets/notification_area/status-notifier -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c sn-host-v0-gen.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"805": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* This file is generated by gdbus-codegen, do not modify it.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* The license of this code is the same as for the D-Bus interface description</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* it was derived from. Note that it links to GLib, so must comply with the</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* LGPL linking clauses.</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"><span class='directive'># include "config.h"</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"><span class='directive'>#include "sn-host-v0-gen.h"</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"><span class='directive'>#ifdef G_OS_UNIX</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"><span class='directive'># include &lt;gio/gunixfdlist.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"><span class='directive'>#ifdef G_ENABLE_DEBUG</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_boolean(v)<span class='macro_popup'>(v)-&gt;data[0].v_int</span></span> g_value_get_boolean (v)</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_char(v)<span class='macro_popup'>(v)-&gt;data[0].v_int</span></span> g_value_get_schar (v)</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_uchar(v)<span class='macro_popup'>(v)-&gt;data[0].v_uint</span></span> g_value_get_uchar (v)</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_int(v)<span class='macro_popup'>(v)-&gt;data[0].v_int</span></span> g_value_get_int (v)</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_uint(v)<span class='macro_popup'>(v)-&gt;data[0].v_uint</span></span> g_value_get_uint (v)</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_long(v)<span class='macro_popup'>(v)-&gt;data[0].v_long</span></span> g_value_get_long (v)</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_ulong(v)<span class='macro_popup'>(v)-&gt;data[0].v_ulong</span></span> g_value_get_ulong (v)</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_int64(v)<span class='macro_popup'>(v)-&gt;data[0].v_int64</span></span> g_value_get_int64 (v)</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_uint64(v)<span class='macro_popup'>(v)-&gt;data[0].v_uint64</span></span> g_value_get_uint64 (v)</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_enum(v)<span class='macro_popup'>(v)-&gt;data[0].v_long</span></span> g_value_get_enum (v)</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_flags(v)<span class='macro_popup'>(v)-&gt;data[0].v_ulong</span></span> g_value_get_flags (v)</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_float(v)<span class='macro_popup'>(v)-&gt;data[0].v_float</span></span> g_value_get_float (v)</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_double(v)<span class='macro_popup'>(v)-&gt;data[0].v_double</span></span> g_value_get_double (v)</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_string(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> (char*) g_value_get_string (v)</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_param(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> g_value_get_param (v)</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_boxed(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> g_value_get_boxed (v)</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_pointer(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> g_value_get_pointer (v)</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_object(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> g_value_get_object (v)</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_variant(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> g_value_get_variant (v)</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#else /* !G_ENABLE_DEBUG */</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='comment'>/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> <span class='comment'>* Do not access GValues directly in your code. Instead, use the</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='comment'>* g_value_get_*() functions</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_boolean(v)<span class='macro_popup'>(v)-&gt;data[0].v_int</span></span> (v)-&gt;data[0].v_int</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_char(v)<span class='macro_popup'>(v)-&gt;data[0].v_int</span></span> (v)-&gt;data[0].v_int</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_uchar(v)<span class='macro_popup'>(v)-&gt;data[0].v_uint</span></span> (v)-&gt;data[0].v_uint</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_int(v)<span class='macro_popup'>(v)-&gt;data[0].v_int</span></span> (v)-&gt;data[0].v_int</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_uint(v)<span class='macro_popup'>(v)-&gt;data[0].v_uint</span></span> (v)-&gt;data[0].v_uint</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_long(v)<span class='macro_popup'>(v)-&gt;data[0].v_long</span></span> (v)-&gt;data[0].v_long</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_ulong(v)<span class='macro_popup'>(v)-&gt;data[0].v_ulong</span></span> (v)-&gt;data[0].v_ulong</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_int64(v)<span class='macro_popup'>(v)-&gt;data[0].v_int64</span></span> (v)-&gt;data[0].v_int64</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_uint64(v)<span class='macro_popup'>(v)-&gt;data[0].v_uint64</span></span> (v)-&gt;data[0].v_uint64</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_enum(v)<span class='macro_popup'>(v)-&gt;data[0].v_long</span></span> (v)-&gt;data[0].v_long</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_flags(v)<span class='macro_popup'>(v)-&gt;data[0].v_ulong</span></span> (v)-&gt;data[0].v_ulong</span></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_float(v)<span class='macro_popup'>(v)-&gt;data[0].v_float</span></span> (v)-&gt;data[0].v_float</span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_double(v)<span class='macro_popup'>(v)-&gt;data[0].v_double</span></span> (v)-&gt;data[0].v_double</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_string(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> (v)-&gt;data[0].v_pointer</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_param(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> (v)-&gt;data[0].v_pointer</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_boxed(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> (v)-&gt;data[0].v_pointer</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_pointer(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> (v)-&gt;data[0].v_pointer</span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_object(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> (v)-&gt;data[0].v_pointer</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='directive'>#define <span class='macro'>g_marshal_value_peek_variant(v)<span class='macro_popup'>(v)-&gt;data[0].v_pointer</span></span> (v)-&gt;data[0].v_pointer</span></td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"><span class='directive'>#endif /* !G_ENABLE_DEBUG */</span></td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GDBusArgInfo parent_struct;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> gboolean use_gvariant;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line">} _ExtendedGDBusArgInfo;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> GDBusMethodInfo parent_struct;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='keyword'>const</span> gchar *signal_name;</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> gboolean pass_fdlist;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line">} _ExtendedGDBusMethodInfo;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> GDBusSignalInfo parent_struct;</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>const</span> gchar *signal_name;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line">} _ExtendedGDBusSignalInfo;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> GDBusPropertyInfo parent_struct;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='keyword'>const</span> gchar *hyphen_name;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> guint use_gvariant : 1;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> guint emits_changed_signal : 1;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line">} _ExtendedGDBusPropertyInfo;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> GDBusInterfaceInfo parent_struct;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> gchar *hyphen_name;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">} _ExtendedGDBusInterfaceInfo;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>const</span> _ExtendedGDBusPropertyInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> guint prop_id;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> GValue orig_value; <span class='comment'>/* the value before the change */</span></td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line">} ChangedProperty;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">_changed_property_free (ChangedProperty *data)</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> g_value_unset (&amp;data-&gt;orig_value);</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> g_free (data);</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line">_g_strv_equal0 (gchar **a, gchar **b)</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> gboolean ret = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> guint n;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> <span class='keyword'>if</span> (a == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp; b == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class='keyword'>if</span> (a == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || b == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> (g_strv_length (a) != g_strv_length (b))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>for</span> (n = 0; a[n] != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; n++)</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (a[n], b[n]) != 0)</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line">out:</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line">_g_variant_equal0 (GVariant *a, GVariant *b)</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> gboolean ret = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>if</span> (a == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp; b == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>if</span> (a == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || b == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> ret = g_variant_equal (a, b);</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line">out:</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"><span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span> <span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line">_g_value_equal (<span class='keyword'>const</span> GValue *a, <span class='keyword'>const</span> GValue *b)</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> gboolean ret = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> <span class='macro'>g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b))<span class='macro_popup'>do { if ((((GValue*) (a))-&gt;g_type) == (((GValue*) (b))-&gt;<br>g_type)) ; else g_assertion_message_expr ("notification-area-applet"<br>, "sn-host-v0-gen.c", 155, ((const char*) (__func__)), "G_VALUE_TYPE (a) == G_VALUE_TYPE (b)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> <span class='keyword'>switch</span> (<span class='macro'>G_VALUE_TYPE (a)<span class='macro_popup'>(((GValue*) (a))-&gt;g_type)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> ret = (g_value_get_boolean (a) == g_value_get_boolean (b));</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_UCHAR<span class='macro_popup'>((GType) ((4) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> ret = (g_value_get_uchar (a) == g_value_get_uchar (b));</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> ret = (g_value_get_int (a) == g_value_get_int (b));</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> ret = (g_value_get_uint (a) == g_value_get_uint (b));</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_INT64<span class='macro_popup'>((GType) ((10) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> ret = (g_value_get_int64 (a) == g_value_get_int64 (b));</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_UINT64<span class='macro_popup'>((GType) ((11) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_DOUBLE<span class='macro_popup'>((GType) ((15) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='comment'>/* Avoid -Wfloat-equal warnings by doing a direct bit compare */</span></td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> gdouble da = g_value_get_double (a);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> gdouble db = g_value_get_double (b);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> ret = memcmp (&amp;da, &amp;db, <span class='keyword'>sizeof</span> (gdouble)) == 0;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_VARIANT<span class='macro_popup'>((GType) ((21) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_VALUE_TYPE (a)<span class='macro_popup'>(((GValue*) (a))-&gt;g_type)</span></span> == <span class='macro'>G_TYPE_STRV<span class='macro_popup'>(g_strv_get_type ())</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_critical (<span class='string_literal'>"_g_value_equal() does not handle type %s"</span>, g_type_name (<span class='macro'>G_VALUE_TYPE (a)<span class='macro_popup'>(((GValue*) (a))-&gt;g_type)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"><span class='comment'>/* ------------------------------------------------------------------------</span></td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='comment'>* Code for interface org.kde.StatusNotifierHost</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='comment'>* ------------------------------------------------------------------------</span></td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='comment'>* SECTION:SnHostV0Gen</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='comment'>* @title: SnHostV0Gen</span></td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='comment'>* @short_description: Generated C code for the org.kde.StatusNotifierHost D-Bus interface</span></td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> <span class='comment'>* This section contains code for working with the &lt;link linkend="gdbus-interface-org-kde-StatusNotifierHost.top_of_page"&gt;org.kde.StatusNotifierHost&lt;/link&gt; D-Bus interface in C.</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"><span class='comment'>/* ---- Introspection data for org.kde.StatusNotifierHost ---- */</span></td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> _ExtendedGDBusInterfaceInfo _sn_host_v0_gen_interface_info =</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> (gchar *) <span class='string_literal'>"org.kde.StatusNotifierHost"</span>,</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='string_literal'>"host-v0-gen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='comment'>* sn_host_v0_gen_interface_info:</span></td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> <span class='comment'>* Gets a machine-readable description of the &lt;link linkend="gdbus-interface-org-kde-StatusNotifierHost.top_of_page"&gt;org.kde.StatusNotifierHost&lt;/link&gt; D-Bus interface.</span></td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='comment'>* Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.</span></td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line">GDBusInterfaceInfo *</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line">sn_host_v0_gen_interface_info (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> <span class='keyword'>return</span> (GDBusInterfaceInfo *) &amp;_sn_host_v0_gen_interface_info.parent_struct;</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> <span class='comment'>* sn_host_v0_gen_override_properties:</span></td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='comment'>* @klass: The class structure for a #GObject derived class.</span></td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> <span class='comment'>* @property_id_begin: The property id to assign to the first overridden property.</span></td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> <span class='comment'>* Overrides all #GObject properties in the #SnHostV0Gen interface for a concrete class.</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> <span class='comment'>* The properties are overridden in the order they are defined.</span></td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> <span class='comment'>* Returns: The last property id.</span></td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">guint</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line">sn_host_v0_gen_override_properties (GObjectClass *klass <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>, guint property_id_begin)</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>return</span> property_id_begin - 1;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='comment'>* SnHostV0Gen:</span></td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='comment'>* Abstract interface type for the D-Bus interface &lt;link linkend="gdbus-interface-org-kde-StatusNotifierHost.top_of_page"&gt;org.kde.StatusNotifierHost&lt;/link&gt;.</span></td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='comment'>* SnHostV0GenIface:</span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='comment'>* @parent_iface: The parent interface.</span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> <span class='comment'>* Virtual table for the D-Bus interface &lt;link linkend="gdbus-interface-org-kde-StatusNotifierHost.top_of_page"&gt;org.kde.StatusNotifierHost&lt;/link&gt;.</span></td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"><span class='keyword'>typedef</span> SnHostV0GenIface SnHostV0GenInterface;</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"><span class='macro'>G_DEFINE_INTERFACE (SnHostV0Gen, sn_host_v0_gen, G_TYPE_OBJECT)<span class='macro_popup'>static void sn_host_v0_gen_default_init (SnHostV0GenInterface<br> *klass); GType sn_host_v0_gen_get_type (void) { static gsize<br> static_g_define_type_id = 0; if ((__extension__ ({ _Static_assert<br> (sizeof *(&amp;static_g_define_type_id) == sizeof (gpointer)<br>, "Expression evaluates to false"); (void) (0 ? (gpointer) *(<br>&amp;static_g_define_type_id) : ((void*)0)); (!(__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = g_type_register_static_simple<br> (((GType) ((2) &lt;&lt; (2))), g_intern_static_string ("SnHostV0Gen"<br>), sizeof (SnHostV0GenInterface), (GClassInitFunc)(void (*)(void<br>)) sn_host_v0_gen_default_init, 0, (GInstanceInitFunc)((void*<br>)0), (GTypeFlags) 0); if (((GType) ((20) &lt;&lt; (2))) != ((<br>GType) ((0) &lt;&lt; (2)))) g_type_interface_add_prerequisite<br> (g_define_type_id, ((GType) ((20) &lt;&lt; (2)))); { {;;} } (<br>__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line">sn_host_v0_gen_default_init (SnHostV0GenIface *iface <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"><span class='comment'>/* ------------------------------------------------------------------------ */</span></td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='comment'>* SnHostV0GenProxy:</span></td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='comment'>* The #SnHostV0GenProxy structure contains only private data and should only be accessed using the provided API.</span></td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='comment'>* SnHostV0GenProxyClass:</span></td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='comment'>* @parent_class: The parent class.</span></td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class='comment'>* Class structure for #SnHostV0GenProxy.</span></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"><span class='keyword'>struct</span> _SnHostV0GenProxyPrivate</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> GData *qdata;</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sn_host_v0_gen_proxy_iface_init (SnHostV0GenIface *iface);</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_VERSION_MAX_ALLOWED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span> &gt;= <span class='macro'>GLIB_VERSION_2_38<span class='macro_popup'>(((2) &lt;&lt; 16 | (38) &lt;&lt; 8))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_CODE (SnHostV0GenProxy, sn_host_v0_gen_proxy, G_TYPE_DBUS_PROXY,<span class='macro_popup'>static void sn_host_v0_gen_proxy_init (SnHostV0GenProxy *self<br>); static void sn_host_v0_gen_proxy_class_init (SnHostV0GenProxyClass<br> *klass); static GType sn_host_v0_gen_proxy_get_type_once (void<br>); static gpointer sn_host_v0_gen_proxy_parent_class = ((void<br>*)0); static gint SnHostV0GenProxy_private_offset; static void<br> sn_host_v0_gen_proxy_class_intern_init (gpointer klass) { sn_host_v0_gen_proxy_parent_class<br> = g_type_class_peek_parent (klass); if (SnHostV0GenProxy_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;SnHostV0GenProxy_private_offset<br>); sn_host_v0_gen_proxy_class_init ((SnHostV0GenProxyClass*) klass<br>); } __attribute__ ((__unused__)) static inline gpointer sn_host_v0_gen_proxy_get_instance_private<br> (SnHostV0GenProxy *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (SnHostV0GenProxy_private_offset)))); } GType sn_host_v0_gen_proxy_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_proxy_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_proxy_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_proxy_get_type ()), g_intern_static_string ("SnHostV0GenProxy"<br>), sizeof (SnHostV0GenProxyClass), (GClassInitFunc)(void (*)(<br>void)) sn_host_v0_gen_proxy_class_intern_init, sizeof (SnHostV0GenProxy<br>), (GInstanceInitFunc)(void (*)(void)) sn_host_v0_gen_proxy_init<br>, (GTypeFlags) 0); { {{ SnHostV0GenProxy_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (SnHostV0GenProxyPrivate)); } { const<br> GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc<br>)(void (*)(void)) sn_host_v0_gen_proxy_iface_init, ((void*)0)<br>, ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='macro'>G_ADD_PRIVATE (SnHostV0GenProxy)<span class='macro_popup'>static void sn_host_v0_gen_proxy_init (SnHostV0GenProxy *self<br>); static void sn_host_v0_gen_proxy_class_init (SnHostV0GenProxyClass<br> *klass); static GType sn_host_v0_gen_proxy_get_type_once (void<br>); static gpointer sn_host_v0_gen_proxy_parent_class = ((void<br>*)0); static gint SnHostV0GenProxy_private_offset; static void<br> sn_host_v0_gen_proxy_class_intern_init (gpointer klass) { sn_host_v0_gen_proxy_parent_class<br> = g_type_class_peek_parent (klass); if (SnHostV0GenProxy_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;SnHostV0GenProxy_private_offset<br>); sn_host_v0_gen_proxy_class_init ((SnHostV0GenProxyClass*) klass<br>); } __attribute__ ((__unused__)) static inline gpointer sn_host_v0_gen_proxy_get_instance_private<br> (SnHostV0GenProxy *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (SnHostV0GenProxy_private_offset)))); } GType sn_host_v0_gen_proxy_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_proxy_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_proxy_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_proxy_get_type ()), g_intern_static_string ("SnHostV0GenProxy"<br>), sizeof (SnHostV0GenProxyClass), (GClassInitFunc)(void (*)(<br>void)) sn_host_v0_gen_proxy_class_intern_init, sizeof (SnHostV0GenProxy<br>), (GInstanceInitFunc)(void (*)(void)) sn_host_v0_gen_proxy_init<br>, (GTypeFlags) 0); { {{ SnHostV0GenProxy_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (SnHostV0GenProxyPrivate)); } { const<br> GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc<br>)(void (*)(void)) sn_host_v0_gen_proxy_iface_init, ((void*)0)<br>, ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='macro'>G_IMPLEMENT_INTERFACE (SN_TYPE_HOST_V0_GEN, sn_host_v0_gen_proxy_iface_init))<span class='macro_popup'>static void sn_host_v0_gen_proxy_init (SnHostV0GenProxy *self<br>); static void sn_host_v0_gen_proxy_class_init (SnHostV0GenProxyClass<br> *klass); static GType sn_host_v0_gen_proxy_get_type_once (void<br>); static gpointer sn_host_v0_gen_proxy_parent_class = ((void<br>*)0); static gint SnHostV0GenProxy_private_offset; static void<br> sn_host_v0_gen_proxy_class_intern_init (gpointer klass) { sn_host_v0_gen_proxy_parent_class<br> = g_type_class_peek_parent (klass); if (SnHostV0GenProxy_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;SnHostV0GenProxy_private_offset<br>); sn_host_v0_gen_proxy_class_init ((SnHostV0GenProxyClass*) klass<br>); } __attribute__ ((__unused__)) static inline gpointer sn_host_v0_gen_proxy_get_instance_private<br> (SnHostV0GenProxy *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (SnHostV0GenProxy_private_offset)))); } GType sn_host_v0_gen_proxy_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_proxy_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_proxy_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_proxy_get_type ()), g_intern_static_string ("SnHostV0GenProxy"<br>), sizeof (SnHostV0GenProxyClass), (GClassInitFunc)(void (*)(<br>void)) sn_host_v0_gen_proxy_class_intern_init, sizeof (SnHostV0GenProxy<br>), (GInstanceInitFunc)(void (*)(void)) sn_host_v0_gen_proxy_init<br>, (GTypeFlags) 0); { {{ SnHostV0GenProxy_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (SnHostV0GenProxyPrivate)); } { const<br> GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc<br>)(void (*)(void)) sn_host_v0_gen_proxy_iface_init, ((void*)0)<br>, ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_CODE (SnHostV0GenProxy, sn_host_v0_gen_proxy, G_TYPE_DBUS_PROXY,<span class='macro_popup'>static void sn_host_v0_gen_proxy_init (SnHostV0GenProxy *self<br>); static void sn_host_v0_gen_proxy_class_init (SnHostV0GenProxyClass<br> *klass); static GType sn_host_v0_gen_proxy_get_type_once (void<br>); static gpointer sn_host_v0_gen_proxy_parent_class = ((void<br>*)0); static gint SnHostV0GenProxy_private_offset; static void<br> sn_host_v0_gen_proxy_class_intern_init (gpointer klass) { sn_host_v0_gen_proxy_parent_class<br> = g_type_class_peek_parent (klass); if (SnHostV0GenProxy_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;SnHostV0GenProxy_private_offset<br>); sn_host_v0_gen_proxy_class_init ((SnHostV0GenProxyClass*) klass<br>); } __attribute__ ((__unused__)) static inline gpointer sn_host_v0_gen_proxy_get_instance_private<br> (SnHostV0GenProxy *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (SnHostV0GenProxy_private_offset)))); } GType sn_host_v0_gen_proxy_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_proxy_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_proxy_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_proxy_get_type ()), g_intern_static_string ("SnHostV0GenProxy"<br>), sizeof (SnHostV0GenProxyClass), (GClassInitFunc)(void (*)(<br>void)) sn_host_v0_gen_proxy_class_intern_init, sizeof (SnHostV0GenProxy<br>), (GInstanceInitFunc)(void (*)(void)) sn_host_v0_gen_proxy_init<br>, (GTypeFlags) 0); { {{ const GInterfaceInfo g_implement_interface_info<br> = { (GInterfaceInitFunc)(void (*)(void)) sn_host_v0_gen_proxy_iface_init<br>, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> <span class='macro'>G_IMPLEMENT_INTERFACE (SN_TYPE_HOST_V0_GEN, sn_host_v0_gen_proxy_iface_init))<span class='macro_popup'>static void sn_host_v0_gen_proxy_init (SnHostV0GenProxy *self<br>); static void sn_host_v0_gen_proxy_class_init (SnHostV0GenProxyClass<br> *klass); static GType sn_host_v0_gen_proxy_get_type_once (void<br>); static gpointer sn_host_v0_gen_proxy_parent_class = ((void<br>*)0); static gint SnHostV0GenProxy_private_offset; static void<br> sn_host_v0_gen_proxy_class_intern_init (gpointer klass) { sn_host_v0_gen_proxy_parent_class<br> = g_type_class_peek_parent (klass); if (SnHostV0GenProxy_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;SnHostV0GenProxy_private_offset<br>); sn_host_v0_gen_proxy_class_init ((SnHostV0GenProxyClass*) klass<br>); } __attribute__ ((__unused__)) static inline gpointer sn_host_v0_gen_proxy_get_instance_private<br> (SnHostV0GenProxy *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (SnHostV0GenProxy_private_offset)))); } GType sn_host_v0_gen_proxy_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_proxy_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_proxy_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_proxy_get_type ()), g_intern_static_string ("SnHostV0GenProxy"<br>), sizeof (SnHostV0GenProxyClass), (GClassInitFunc)(void (*)(<br>void)) sn_host_v0_gen_proxy_class_intern_init, sizeof (SnHostV0GenProxy<br>), (GInstanceInitFunc)(void (*)(void)) sn_host_v0_gen_proxy_init<br>, (GTypeFlags) 0); { {{ const GInterfaceInfo g_implement_interface_info<br> = { (GInterfaceInitFunc)(void (*)(void)) sn_host_v0_gen_proxy_iface_init<br>, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line">sn_host_v0_gen_proxy_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> SnHostV0GenProxy *proxy = <span class='macro'>SN_HOST_V0_GEN_PROXY (object)<span class='macro_popup'>((((SnHostV0GenProxy*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((object)), ((sn_host_v0_gen_proxy_get_type (<br>)))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> g_datalist_clear (&amp;proxy-&gt;priv-&gt;qdata);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (sn_host_v0_gen_proxy_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((sn_host_v0_gen_proxy_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line">sn_host_v0_gen_proxy_get_property (GObject *object <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> guint prop_id <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> GValue *value <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> GParamSpec *pspec <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line">sn_host_v0_gen_proxy_set_property (GObject *object <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> guint prop_id <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>const</span> GValue *value <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> GParamSpec *pspec <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line">sn_host_v0_gen_proxy_g_signal (GDBusProxy *proxy,</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='keyword'>const</span> gchar *sender_name <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='keyword'>const</span> gchar *signal_name,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> GVariant *parameters)</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> _ExtendedGDBusSignalInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> GVariantIter iter;</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> GVariant *child;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> GValue *paramv;</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> gsize num_params;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> gsize n;</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> guint signal_id;</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &amp;_sn_host_v0_gen_interface_info.parent_struct, signal_name);</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>if</span> (info == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> num_params = g_variant_n_children (parameters);</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> paramv = <span class='macro'>g_new0 (GValue, num_params + 1)<span class='macro_popup'>((GValue *) g_malloc0_n ((num_params + 1), sizeof (GValue)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_value_init (&amp;paramv[0], <span class='macro'>SN_TYPE_HOST_V0_GEN<span class='macro_popup'>(sn_host_v0_gen_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> g_value_set_object (&amp;paramv[0], proxy);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> g_variant_iter_init (&amp;iter, parameters);</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> n = 1;</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> <span class='keyword'>while</span> ((child = g_variant_iter_next_value (&amp;iter)) != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info-&gt;parent_struct.args[n - 1];</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> <span class='keyword'>if</span> (arg_info-&gt;use_gvariant)</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> g_value_init (&amp;paramv[n], <span class='macro'>G_TYPE_VARIANT<span class='macro_popup'>((GType) ((21) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> g_value_set_variant (&amp;paramv[n], child);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> n++;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_dbus_gvariant_to_gvalue (child, &amp;paramv[n++]);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> g_variant_unref (child);</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> signal_id = g_signal_lookup (info-&gt;signal_name, <span class='macro'>SN_TYPE_HOST_V0_GEN<span class='macro_popup'>(sn_host_v0_gen_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> g_signal_emitv (paramv, signal_id, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> <span class='keyword'>for</span> (n = 0; n &lt; num_params + 1; n++)</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> g_value_unset (&amp;paramv[n]);</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> g_free (paramv);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line">sn_host_v0_gen_proxy_g_properties_changed (GDBusProxy *_proxy,</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> GVariant *changed_properties,</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='keyword'>const</span> gchar *<span class='keyword'>const</span> *invalidated_properties)</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> SnHostV0GenProxy *proxy = <span class='macro'>SN_HOST_V0_GEN_PROXY (_proxy)<span class='macro_popup'>((((SnHostV0GenProxy*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((_proxy)), ((sn_host_v0_gen_proxy_get_type (<br>)))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> guint n;</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>const</span> gchar *key;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> GVariantIter *iter;</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> _ExtendedGDBusPropertyInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> g_variant_get (changed_properties, <span class='string_literal'>"a{sv}"</span>, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>while</span> (g_variant_iter_next (iter, <span class='string_literal'>"{&amp;sv}"</span>, &amp;key, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &amp;_sn_host_v0_gen_interface_info.parent_struct, key);</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='macro'>g_datalist_remove_data (&amp;proxy-&gt;priv-&gt;qdata, key)<span class='macro_popup'>g_datalist_id_set_data_full (((&amp;proxy-&gt;priv-&gt;qdata)<br>), (g_quark_try_string (key)), (((void*)0)), ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>if</span> (info != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (proxy)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((proxy)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, info-&gt;hyphen_name);</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> g_variant_iter_free (iter);</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> <span class='keyword'>for</span> (n = 0; invalidated_properties[n] != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; n++)</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &amp;_sn_host_v0_gen_interface_info.parent_struct, invalidated_properties[n]);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='macro'>g_datalist_remove_data (&amp;proxy-&gt;priv-&gt;qdata, invalidated_properties[n])<span class='macro_popup'>g_datalist_id_set_data_full (((&amp;proxy-&gt;priv-&gt;qdata)<br>), (g_quark_try_string (invalidated_properties[n])), (((void*<br>)0)), ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='keyword'>if</span> (info != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (proxy)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((proxy)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, info-&gt;hyphen_name);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">sn_host_v0_gen_proxy_init (SnHostV0GenProxy *proxy)</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_VERSION_MAX_ALLOWED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span> &gt;= <span class='macro'>GLIB_VERSION_2_38<span class='macro_popup'>(((2) &lt;&lt; 16 | (38) &lt;&lt; 8))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> proxy-&gt;priv = sn_host_v0_gen_proxy_get_instance_private (proxy);</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> proxy-&gt;priv = <span class='macro'>G_TYPE_INSTANCE_GET_PRIVATE (proxy, SN_TYPE_HOST_V0_GEN_PROXY, SnHostV0GenProxyPrivate)<span class='macro_popup'>((SnHostV0GenProxyPrivate*) g_type_instance_get_private ((GTypeInstance<br>*) (proxy), ((sn_host_v0_gen_proxy_get_type ())))) GCC warning<br> "Deprecated pre-processor symbol: replace with \"G_ADD_PRIVATE\""<br>
+</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_dbus_proxy_set_interface_info (<span class='macro'>G_DBUS_PROXY (proxy)<span class='macro_popup'>((((GDBusProxy*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((proxy)), ((g_dbus_proxy_get_type ()))))))</span></span>, sn_host_v0_gen_interface_info ());</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line">sn_host_v0_gen_proxy_class_init (SnHostV0GenProxyClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> GObjectClass *gobject_class;</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> GDBusProxyClass *proxy_class;</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> gobject_class = <span class='macro'>G_OBJECT_CLASS (klass)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((klass)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> gobject_class-&gt;finalize = sn_host_v0_gen_proxy_finalize;</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> gobject_class-&gt;get_property = sn_host_v0_gen_proxy_get_property;</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> gobject_class-&gt;set_property = sn_host_v0_gen_proxy_set_property;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> proxy_class = <span class='macro'>G_DBUS_PROXY_CLASS (klass)<span class='macro_popup'>((((GDBusProxyClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((klass)), ((g_dbus_proxy_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> proxy_class-&gt;g_signal = sn_host_v0_gen_proxy_g_signal;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> proxy_class-&gt;g_properties_changed = sn_host_v0_gen_proxy_g_properties_changed;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_VERSION_MAX_ALLOWED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span> &lt; <span class='macro'>GLIB_VERSION_2_38<span class='macro_popup'>(((2) &lt;&lt; 16 | (38) &lt;&lt; 8))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> g_type_class_add_private (klass, <span class='keyword'>sizeof</span> (SnHostV0GenProxyPrivate));</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line">sn_host_v0_gen_proxy_iface_init (SnHostV0GenIface *iface <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='comment'>* sn_host_v0_gen_proxy_new:</span></td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='comment'>* @connection: A #GDBusConnection.</span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='comment'>* @flags: Flags from the #GDBusProxyFlags enumeration.</span></td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='comment'>* @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</span></td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='comment'>* @object_path: An object path.</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='comment'>* @cancellable: (nullable): A #GCancellable or %NULL.</span></td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='comment'>* @callback: A #GAsyncReadyCallback to call when the request is satisfied.</span></td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> <span class='comment'>* @user_data: User data to pass to @callback.</span></td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='comment'>* Asynchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-kde-StatusNotifierHost.top_of_page"&gt;org.kde.StatusNotifierHost&lt;/link&gt;. See g_dbus_proxy_new() for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='comment'>* When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).</span></td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='comment'>* You can then call sn_host_v0_gen_proxy_new_finish() to get the result of the operation.</span></td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> <span class='comment'>* See sn_host_v0_gen_proxy_new_sync() for the synchronous, blocking version of this constructor.</span></td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line">sn_host_v0_gen_proxy_new (</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> GDBusProxyFlags flags,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> GCancellable *cancellable,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> GAsyncReadyCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> g_async_initable_new_async (<span class='macro'>SN_TYPE_HOST_V0_GEN_PROXY<span class='macro_popup'>(sn_host_v0_gen_proxy_get_type ())</span></span>, <span class='macro'>G_PRIORITY_DEFAULT<span class='macro_popup'>0</span></span>, cancellable, callback, user_data, <span class='string_literal'>"g-flags"</span>, flags, <span class='string_literal'>"g-name"</span>, name, <span class='string_literal'>"g-connection"</span>, connection, <span class='string_literal'>"g-object-path"</span>, object_path, <span class='string_literal'>"g-interface-name"</span>, <span class='string_literal'>"org.kde.StatusNotifierHost"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='comment'>* sn_host_v0_gen_proxy_new_finish:</span></td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> <span class='comment'>* @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to sn_host_v0_gen_proxy_new().</span></td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='comment'>* @error: Return location for error or %NULL</span></td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='comment'>* Finishes an operation started with sn_host_v0_gen_proxy_new().</span></td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> <span class='comment'>* Returns: (transfer full) (type SnHostV0GenProxy): The constructed proxy object or %NULL if @error is set.</span></td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line">SnHostV0Gen *</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line">sn_host_v0_gen_proxy_new_finish (</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> GAsyncResult *res,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> GObject *ret;</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> GObject *source_object;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> source_object = g_async_result_get_source_object (res);</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> ret = g_async_initable_new_finish (<span class='macro'>G_ASYNC_INITABLE (source_object)<span class='macro_popup'>((((GAsyncInitable*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((source_object)), ((g_async_initable_get_type ()))))))</span></span>, res, error);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> g_object_unref (source_object);</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='keyword'>if</span> (ret != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>SN_HOST_V0_GEN (ret)<span class='macro_popup'>((((SnHostV0Gen*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((ret)), ((sn_host_v0_gen_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='comment'>* sn_host_v0_gen_proxy_new_sync:</span></td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> <span class='comment'>* @connection: A #GDBusConnection.</span></td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='comment'>* @flags: Flags from the #GDBusProxyFlags enumeration.</span></td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> <span class='comment'>* @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</span></td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> <span class='comment'>* @object_path: An object path.</span></td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> <span class='comment'>* @cancellable: (nullable): A #GCancellable or %NULL.</span></td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='comment'>* @error: Return location for error or %NULL</span></td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='comment'>* Synchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-kde-StatusNotifierHost.top_of_page"&gt;org.kde.StatusNotifierHost&lt;/link&gt;. See g_dbus_proxy_new_sync() for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='comment'>* The calling thread is blocked until a reply is received.</span></td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> <span class='comment'>* See sn_host_v0_gen_proxy_new() for the asynchronous version of this constructor.</span></td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> <span class='comment'>* Returns: (transfer full) (type SnHostV0GenProxy): The constructed proxy object or %NULL if @error is set.</span></td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line">SnHostV0Gen *</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line">sn_host_v0_gen_proxy_new_sync (</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> GDBusProxyFlags flags,</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> <span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> GCancellable *cancellable,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GInitable *ret;</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> ret = g_initable_new (<span class='macro'>SN_TYPE_HOST_V0_GEN_PROXY<span class='macro_popup'>(sn_host_v0_gen_proxy_get_type ())</span></span>, cancellable, error, <span class='string_literal'>"g-flags"</span>, flags, <span class='string_literal'>"g-name"</span>, name, <span class='string_literal'>"g-connection"</span>, connection, <span class='string_literal'>"g-object-path"</span>, object_path, <span class='string_literal'>"g-interface-name"</span>, <span class='string_literal'>"org.kde.StatusNotifierHost"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> <span class='keyword'>if</span> (ret != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>SN_HOST_V0_GEN (ret)<span class='macro_popup'>((((SnHostV0Gen*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((ret)), ((sn_host_v0_gen_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='comment'>* sn_host_v0_gen_proxy_new_for_bus:</span></td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='comment'>* @bus_type: A #GBusType.</span></td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> <span class='comment'>* @flags: Flags from the #GDBusProxyFlags enumeration.</span></td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='comment'>* @name: A bus name (well-known or unique).</span></td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='comment'>* @object_path: An object path.</span></td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='comment'>* @cancellable: (nullable): A #GCancellable or %NULL.</span></td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='comment'>* @callback: A #GAsyncReadyCallback to call when the request is satisfied.</span></td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='comment'>* @user_data: User data to pass to @callback.</span></td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> <span class='comment'>* Like sn_host_v0_gen_proxy_new() but takes a #GBusType instead of a #GDBusConnection.</span></td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='comment'>* When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).</span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='comment'>* You can then call sn_host_v0_gen_proxy_new_for_bus_finish() to get the result of the operation.</span></td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='comment'>* See sn_host_v0_gen_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.</span></td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">sn_host_v0_gen_proxy_new_for_bus (</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> GBusType bus_type,</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> GDBusProxyFlags flags,</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> <span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GCancellable *cancellable,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> GAsyncReadyCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> g_async_initable_new_async (<span class='macro'>SN_TYPE_HOST_V0_GEN_PROXY<span class='macro_popup'>(sn_host_v0_gen_proxy_get_type ())</span></span>, <span class='macro'>G_PRIORITY_DEFAULT<span class='macro_popup'>0</span></span>, cancellable, callback, user_data, <span class='string_literal'>"g-flags"</span>, flags, <span class='string_literal'>"g-name"</span>, name, <span class='string_literal'>"g-bus-type"</span>, bus_type, <span class='string_literal'>"g-object-path"</span>, object_path, <span class='string_literal'>"g-interface-name"</span>, <span class='string_literal'>"org.kde.StatusNotifierHost"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> <span class='comment'>* sn_host_v0_gen_proxy_new_for_bus_finish:</span></td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='comment'>* @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to sn_host_v0_gen_proxy_new_for_bus().</span></td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> <span class='comment'>* @error: Return location for error or %NULL</span></td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> <span class='comment'>* Finishes an operation started with sn_host_v0_gen_proxy_new_for_bus().</span></td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> <span class='comment'>* Returns: (transfer full) (type SnHostV0GenProxy): The constructed proxy object or %NULL if @error is set.</span></td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line">SnHostV0Gen *</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line">sn_host_v0_gen_proxy_new_for_bus_finish (</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> GAsyncResult *res,</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> GObject *ret;</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> GObject *source_object;</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> source_object = g_async_result_get_source_object (res);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> ret = g_async_initable_new_finish (<span class='macro'>G_ASYNC_INITABLE (source_object)<span class='macro_popup'>((((GAsyncInitable*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((source_object)), ((g_async_initable_get_type ()))))))</span></span>, res, error);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> g_object_unref (source_object);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> <span class='keyword'>if</span> (ret != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>SN_HOST_V0_GEN (ret)<span class='macro_popup'>((((SnHostV0Gen*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((ret)), ((sn_host_v0_gen_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='comment'>* sn_host_v0_gen_proxy_new_for_bus_sync:</span></td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> <span class='comment'>* @bus_type: A #GBusType.</span></td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> <span class='comment'>* @flags: Flags from the #GDBusProxyFlags enumeration.</span></td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> <span class='comment'>* @name: A bus name (well-known or unique).</span></td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> <span class='comment'>* @object_path: An object path.</span></td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> <span class='comment'>* @cancellable: (nullable): A #GCancellable or %NULL.</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> <span class='comment'>* @error: Return location for error or %NULL</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='comment'>* Like sn_host_v0_gen_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='comment'>* The calling thread is blocked until a reply is received.</span></td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> <span class='comment'>* See sn_host_v0_gen_proxy_new_for_bus() for the asynchronous version of this constructor.</span></td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> <span class='comment'>* Returns: (transfer full) (type SnHostV0GenProxy): The constructed proxy object or %NULL if @error is set.</span></td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">SnHostV0Gen *</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line">sn_host_v0_gen_proxy_new_for_bus_sync (</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> GBusType bus_type,</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> GDBusProxyFlags flags,</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> GCancellable *cancellable,</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> GInitable *ret;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> ret = g_initable_new (<span class='macro'>SN_TYPE_HOST_V0_GEN_PROXY<span class='macro_popup'>(sn_host_v0_gen_proxy_get_type ())</span></span>, cancellable, error, <span class='string_literal'>"g-flags"</span>, flags, <span class='string_literal'>"g-name"</span>, name, <span class='string_literal'>"g-bus-type"</span>, bus_type, <span class='string_literal'>"g-object-path"</span>, object_path, <span class='string_literal'>"g-interface-name"</span>, <span class='string_literal'>"org.kde.StatusNotifierHost"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='keyword'>if</span> (ret != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>SN_HOST_V0_GEN (ret)<span class='macro_popup'>((((SnHostV0Gen*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((ret)), ((sn_host_v0_gen_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"><span class='comment'>/* ------------------------------------------------------------------------ */</span></td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='comment'>* SnHostV0GenSkeleton:</span></td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='comment'>* The #SnHostV0GenSkeleton structure contains only private data and should only be accessed using the provided API.</span></td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='comment'>* SnHostV0GenSkeletonClass:</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='comment'>* @parent_class: The parent class.</span></td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='comment'>* Class structure for #SnHostV0GenSkeleton.</span></td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"><span class='keyword'>struct</span> _SnHostV0GenSkeletonPrivate</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> GValue *properties;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> GList *changed_properties;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> GSource *changed_properties_idle_source;</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> GMainContext *context;</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> GMutex lock;</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line">_sn_host_v0_gen_skeleton_handle_method_call (</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> GDBusConnection *connection <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>const</span> gchar *sender <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> <span class='keyword'>const</span> gchar *object_path <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>const</span> gchar *method_name,</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> GVariant *parameters,</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> GDBusMethodInvocation *invocation,</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> SnHostV0GenSkeleton *skeleton = <span class='macro'>SN_HOST_V0_GEN_SKELETON (user_data)<span class='macro_popup'>((((SnHostV0GenSkeleton*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((user_data)), ((sn_host_v0_gen_skeleton_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> _ExtendedGDBusMethodInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> GVariantIter iter;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> GVariant *child;</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> GValue *paramv;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> gsize num_params;</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> guint num_extra;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> gsize n;</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> guint signal_id;</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> GValue return_value = <span class='macro'>G_VALUE_INIT<span class='macro_popup'>{ 0, { { 0 } } }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>g_assert (info != NULL)<span class='macro_popup'>do { if (info != ((void*)0)) ; else g_assertion_message_expr (<br>"notification-area-applet", "sn-host-v0-gen.c", 670, ((const char<br>*) (__func__)), "info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> num_params = g_variant_n_children (parameters);</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> num_extra = info-&gt;pass_fdlist ? 3 : 2; paramv = <span class='macro'>g_new0 (GValue, num_params + num_extra)<span class='macro_popup'>((GValue *) g_malloc0_n ((num_params + num_extra), sizeof (GValue<br>)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> n = 0;</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> g_value_init (&amp;paramv[n], <span class='macro'>SN_TYPE_HOST_V0_GEN<span class='macro_popup'>(sn_host_v0_gen_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> g_value_set_object (&amp;paramv[n++], skeleton);</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> g_value_init (&amp;paramv[n], <span class='macro'>G_TYPE_DBUS_METHOD_INVOCATION<span class='macro_popup'>(g_dbus_method_invocation_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> g_value_set_object (&amp;paramv[n++], invocation);</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (info-&gt;pass_fdlist)</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"><span class='directive'>#ifdef G_OS_UNIX</span></td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> g_value_init (&amp;paramv[n], <span class='macro'>G_TYPE_UNIX_FD_LIST<span class='macro_popup'>(g_unix_fd_list_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> g_value_set_object (&amp;paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("notification-area-applet", "sn-host-v0-gen.c"<br>, 684, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> g_variant_iter_init (&amp;iter, parameters);</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> <span class='keyword'>while</span> ((child = g_variant_iter_next_value (&amp;iter)) != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info-&gt;parent_struct.in_args[n - num_extra];</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>if</span> (arg_info-&gt;use_gvariant)</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> g_value_init (&amp;paramv[n], <span class='macro'>G_TYPE_VARIANT<span class='macro_popup'>((GType) ((21) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> g_value_set_variant (&amp;paramv[n], child);</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> n++;</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> g_dbus_gvariant_to_gvalue (child, &amp;paramv[n++]);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> g_variant_unref (child);</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> signal_id = g_signal_lookup (info-&gt;signal_name, <span class='macro'>SN_TYPE_HOST_V0_GEN<span class='macro_popup'>(sn_host_v0_gen_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_value_init (&amp;return_value, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> g_signal_emitv (paramv, signal_id, 0, &amp;return_value);</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> <span class='keyword'>if</span> (!g_value_get_boolean (&amp;return_value))</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> g_dbus_method_invocation_return_error (invocation, <span class='macro'>G_DBUS_ERROR<span class='macro_popup'>g_dbus_error_quark()</span></span>, G_DBUS_ERROR_UNKNOWN_METHOD, <span class='string_literal'>"Method %s is not implemented on interface %s"</span>, method_name, interface_name);</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> g_value_unset (&amp;return_value);</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>for</span> (n = 0; n &lt; num_params + num_extra; n++)</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> g_value_unset (&amp;paramv[n]);</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> g_free (paramv);</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line">_sn_host_v0_gen_skeleton_handle_get_property (</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> GDBusConnection *connection <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='keyword'>const</span> gchar *sender <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>const</span> gchar *object_path <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> SnHostV0GenSkeleton *skeleton = <span class='macro'>SN_HOST_V0_GEN_SKELETON (user_data)<span class='macro_popup'>((((SnHostV0GenSkeleton*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((user_data)), ((sn_host_v0_gen_skeleton_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> GValue value = <span class='macro'>G_VALUE_INIT<span class='macro_popup'>{ 0, { { 0 } } }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> GParamSpec *pspec;</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> _ExtendedGDBusPropertyInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> GVariant *ret;</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> ret = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &amp;_sn_host_v0_gen_interface_info.parent_struct, property_name);</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='macro'>g_assert (info != NULL)<span class='macro_popup'>do { if (info != ((void*)0)) ; else g_assertion_message_expr (<br>"notification-area-applet", "sn-host-v0-gen.c", 729, ((const char<br>*) (__func__)), "info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> pspec = g_object_class_find_property (<span class='macro'>G_OBJECT_GET_CLASS (skeleton)<span class='macro_popup'>((((GObjectClass*) (((GTypeInstance*) ((skeleton)))-&gt;g_class<br>))))</span></span>, info-&gt;hyphen_name);</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> <span class='keyword'>if</span> (pspec == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> g_set_error (error, <span class='macro'>G_DBUS_ERROR<span class='macro_popup'>g_dbus_error_quark()</span></span>, G_DBUS_ERROR_INVALID_ARGS, <span class='string_literal'>"No property with name %s"</span>, property_name);</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> g_value_init (&amp;value, pspec-&gt;value_type);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> g_object_get_property (<span class='macro'>G_OBJECT (skeleton)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((skeleton)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, info-&gt;hyphen_name, &amp;value);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> ret = g_dbus_gvalue_to_gvariant (&amp;value, <span class='macro'>G_VARIANT_TYPE (info-&gt;parent_struct.signature)<span class='macro_popup'>(g_variant_type_checked_ ((info-&gt;parent_struct.signature))<br>)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line">_sn_host_v0_gen_skeleton_handle_set_property (</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> GDBusConnection *connection <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> <span class='keyword'>const</span> gchar *sender <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='keyword'>const</span> gchar *object_path <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> GVariant *variant,</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> SnHostV0GenSkeleton *skeleton = <span class='macro'>SN_HOST_V0_GEN_SKELETON (user_data)<span class='macro_popup'>((((SnHostV0GenSkeleton*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((user_data)), ((sn_host_v0_gen_skeleton_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> GValue value = <span class='macro'>G_VALUE_INIT<span class='macro_popup'>{ 0, { { 0 } } }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> GParamSpec *pspec;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> _ExtendedGDBusPropertyInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> ret = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &amp;_sn_host_v0_gen_interface_info.parent_struct, property_name);</td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='macro'>g_assert (info != NULL)<span class='macro_popup'>do { if (info != ((void*)0)) ; else g_assertion_message_expr (<br>"notification-area-applet", "sn-host-v0-gen.c", 763, ((const char<br>*) (__func__)), "info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> pspec = g_object_class_find_property (<span class='macro'>G_OBJECT_GET_CLASS (skeleton)<span class='macro_popup'>((((GObjectClass*) (((GTypeInstance*) ((skeleton)))-&gt;g_class<br>))))</span></span>, info-&gt;hyphen_name);</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> <span class='keyword'>if</span> (pspec == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> g_set_error (error, <span class='macro'>G_DBUS_ERROR<span class='macro_popup'>g_dbus_error_quark()</span></span>, G_DBUS_ERROR_INVALID_ARGS, <span class='string_literal'>"No property with name %s"</span>, property_name);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> <span class='keyword'>if</span> (info-&gt;use_gvariant)</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> g_value_set_variant (&amp;value, variant);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> g_dbus_gvariant_to_gvalue (variant, &amp;value);</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> g_object_set_property (<span class='macro'>G_OBJECT (skeleton)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((skeleton)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, info-&gt;hyphen_name, &amp;value);</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GDBusInterfaceVTable _sn_host_v0_gen_skeleton_vtable =</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> _sn_host_v0_gen_skeleton_handle_method_call,</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> _sn_host_v0_gen_skeleton_handle_get_property,</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> _sn_host_v0_gen_skeleton_handle_set_property,</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> {<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>}</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"><span class='keyword'>static</span> GDBusInterfaceInfo *</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line">sn_host_v0_gen_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='keyword'>return</span> sn_host_v0_gen_interface_info ();</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"><span class='keyword'>static</span> GDBusInterfaceVTable *</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line">sn_host_v0_gen_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='keyword'>return</span> (GDBusInterfaceVTable *) &amp;_sn_host_v0_gen_skeleton_vtable;</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line">sn_host_v0_gen_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> SnHostV0GenSkeleton *<span class="mrange">skeleton</span> = <span class="mrange"><span class='macro'>SN_HOST_V0_GEN_SKELETON</span> (_skeleton)<span class='macro_popup'>((((SnHostV0GenSkeleton*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((_skeleton)), ((sn_host_v0_gen_skeleton_get_type<br> ()))))))</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:24ex">Value stored to 'skeleton' during its initialization is never read</div></td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> guint n;</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"a{sv}"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("a{sv}")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>if</span> (_sn_host_v0_gen_interface_info.parent_struct.properties == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> <span class='keyword'>for</span> (n = 0; _sn_host_v0_gen_interface_info.parent_struct.properties[n] != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; n++)</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> GDBusPropertyInfo *info = _sn_host_v0_gen_interface_info.parent_struct.properties[n];</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> <span class='keyword'>if</span> (info-&gt;flags &amp; G_DBUS_PROPERTY_INFO_FLAGS_READABLE)</td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> GVariant *value;</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> value = _sn_host_v0_gen_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (<span class='macro'>G_DBUS_INTERFACE_SKELETON (skeleton)<span class='macro_popup'>((((GDBusInterfaceSkeleton*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((skeleton)), ((g_dbus_interface_skeleton_get_type<br> ()))))))</span></span>), <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, g_dbus_interface_skeleton_get_object_path (<span class='macro'>G_DBUS_INTERFACE_SKELETON (skeleton)<span class='macro_popup'>((((GDBusInterfaceSkeleton*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((skeleton)), ((g_dbus_interface_skeleton_get_type<br> ()))))))</span></span>), <span class='string_literal'>"org.kde.StatusNotifierHost"</span>, info-&gt;name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, skeleton);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> <span class='keyword'>if</span> (value != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> g_variant_take_ref (value);</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, info-&gt;name, value);</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> g_variant_unref (value);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line">out:</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> <span class='keyword'>return</span> g_variant_builder_end (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line">sn_host_v0_gen_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sn_host_v0_gen_skeleton_iface_init (SnHostV0GenIface *iface);</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_VERSION_MAX_ALLOWED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span> &gt;= <span class='macro'>GLIB_VERSION_2_38<span class='macro_popup'>(((2) &lt;&lt; 16 | (38) &lt;&lt; 8))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_CODE (SnHostV0GenSkeleton, sn_host_v0_gen_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,<span class='macro_popup'>static void sn_host_v0_gen_skeleton_init (SnHostV0GenSkeleton<br> *self); static void sn_host_v0_gen_skeleton_class_init (SnHostV0GenSkeletonClass<br> *klass); static GType sn_host_v0_gen_skeleton_get_type_once (<br>void); static gpointer sn_host_v0_gen_skeleton_parent_class =<br> ((void*)0); static gint SnHostV0GenSkeleton_private_offset; static<br> void sn_host_v0_gen_skeleton_class_intern_init (gpointer klass<br>) { sn_host_v0_gen_skeleton_parent_class = g_type_class_peek_parent<br> (klass); if (SnHostV0GenSkeleton_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;SnHostV0GenSkeleton_private_offset); sn_host_v0_gen_skeleton_class_init<br> ((SnHostV0GenSkeletonClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer sn_host_v0_gen_skeleton_get_instance_private<br> (SnHostV0GenSkeleton *self) { return (((gpointer) ((guint8*)<br> (self) + (glong) (SnHostV0GenSkeleton_private_offset)))); } GType<br> sn_host_v0_gen_skeleton_get_type (void) { static gsize static_g_define_type_id<br> = 0; if ((__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); (void<br>) (0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0<br>)); (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_skeleton_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_skeleton_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_interface_skeleton_get_type ()), g_intern_static_string<br> ("SnHostV0GenSkeleton"), sizeof (SnHostV0GenSkeletonClass), (<br>GClassInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_class_intern_init<br>, sizeof (SnHostV0GenSkeleton), (GInstanceInitFunc)(void (*)(<br>void)) sn_host_v0_gen_skeleton_init, (GTypeFlags) 0); { {{ SnHostV0GenSkeleton_private_offset<br> = g_type_add_instance_private (g_define_type_id, sizeof (SnHostV0GenSkeletonPrivate<br>)); } { const GInterfaceInfo g_implement_interface_info = { (<br>GInterfaceInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_iface_init<br>, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='macro'>G_ADD_PRIVATE (SnHostV0GenSkeleton)<span class='macro_popup'>static void sn_host_v0_gen_skeleton_init (SnHostV0GenSkeleton<br> *self); static void sn_host_v0_gen_skeleton_class_init (SnHostV0GenSkeletonClass<br> *klass); static GType sn_host_v0_gen_skeleton_get_type_once (<br>void); static gpointer sn_host_v0_gen_skeleton_parent_class =<br> ((void*)0); static gint SnHostV0GenSkeleton_private_offset; static<br> void sn_host_v0_gen_skeleton_class_intern_init (gpointer klass<br>) { sn_host_v0_gen_skeleton_parent_class = g_type_class_peek_parent<br> (klass); if (SnHostV0GenSkeleton_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;SnHostV0GenSkeleton_private_offset); sn_host_v0_gen_skeleton_class_init<br> ((SnHostV0GenSkeletonClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer sn_host_v0_gen_skeleton_get_instance_private<br> (SnHostV0GenSkeleton *self) { return (((gpointer) ((guint8*)<br> (self) + (glong) (SnHostV0GenSkeleton_private_offset)))); } GType<br> sn_host_v0_gen_skeleton_get_type (void) { static gsize static_g_define_type_id<br> = 0; if ((__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); (void<br>) (0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0<br>)); (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_skeleton_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_skeleton_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_interface_skeleton_get_type ()), g_intern_static_string<br> ("SnHostV0GenSkeleton"), sizeof (SnHostV0GenSkeletonClass), (<br>GClassInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_class_intern_init<br>, sizeof (SnHostV0GenSkeleton), (GInstanceInitFunc)(void (*)(<br>void)) sn_host_v0_gen_skeleton_init, (GTypeFlags) 0); { {{ SnHostV0GenSkeleton_private_offset<br> = g_type_add_instance_private (g_define_type_id, sizeof (SnHostV0GenSkeletonPrivate<br>)); } { const GInterfaceInfo g_implement_interface_info = { (<br>GInterfaceInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_iface_init<br>, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> <span class='macro'>G_IMPLEMENT_INTERFACE (SN_TYPE_HOST_V0_GEN, sn_host_v0_gen_skeleton_iface_init))<span class='macro_popup'>static void sn_host_v0_gen_skeleton_init (SnHostV0GenSkeleton<br> *self); static void sn_host_v0_gen_skeleton_class_init (SnHostV0GenSkeletonClass<br> *klass); static GType sn_host_v0_gen_skeleton_get_type_once (<br>void); static gpointer sn_host_v0_gen_skeleton_parent_class =<br> ((void*)0); static gint SnHostV0GenSkeleton_private_offset; static<br> void sn_host_v0_gen_skeleton_class_intern_init (gpointer klass<br>) { sn_host_v0_gen_skeleton_parent_class = g_type_class_peek_parent<br> (klass); if (SnHostV0GenSkeleton_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;SnHostV0GenSkeleton_private_offset); sn_host_v0_gen_skeleton_class_init<br> ((SnHostV0GenSkeletonClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer sn_host_v0_gen_skeleton_get_instance_private<br> (SnHostV0GenSkeleton *self) { return (((gpointer) ((guint8*)<br> (self) + (glong) (SnHostV0GenSkeleton_private_offset)))); } GType<br> sn_host_v0_gen_skeleton_get_type (void) { static gsize static_g_define_type_id<br> = 0; if ((__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); (void<br>) (0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0<br>)); (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_skeleton_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_skeleton_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_interface_skeleton_get_type ()), g_intern_static_string<br> ("SnHostV0GenSkeleton"), sizeof (SnHostV0GenSkeletonClass), (<br>GClassInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_class_intern_init<br>, sizeof (SnHostV0GenSkeleton), (GInstanceInitFunc)(void (*)(<br>void)) sn_host_v0_gen_skeleton_init, (GTypeFlags) 0); { {{ SnHostV0GenSkeleton_private_offset<br> = g_type_add_instance_private (g_define_type_id, sizeof (SnHostV0GenSkeletonPrivate<br>)); } { const GInterfaceInfo g_implement_interface_info = { (<br>GInterfaceInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_iface_init<br>, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_CODE (SnHostV0GenSkeleton, sn_host_v0_gen_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,<span class='macro_popup'>static void sn_host_v0_gen_skeleton_init (SnHostV0GenSkeleton<br> *self); static void sn_host_v0_gen_skeleton_class_init (SnHostV0GenSkeletonClass<br> *klass); static GType sn_host_v0_gen_skeleton_get_type_once (<br>void); static gpointer sn_host_v0_gen_skeleton_parent_class =<br> ((void*)0); static gint SnHostV0GenSkeleton_private_offset; static<br> void sn_host_v0_gen_skeleton_class_intern_init (gpointer klass<br>) { sn_host_v0_gen_skeleton_parent_class = g_type_class_peek_parent<br> (klass); if (SnHostV0GenSkeleton_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;SnHostV0GenSkeleton_private_offset); sn_host_v0_gen_skeleton_class_init<br> ((SnHostV0GenSkeletonClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer sn_host_v0_gen_skeleton_get_instance_private<br> (SnHostV0GenSkeleton *self) { return (((gpointer) ((guint8*)<br> (self) + (glong) (SnHostV0GenSkeleton_private_offset)))); } GType<br> sn_host_v0_gen_skeleton_get_type (void) { static gsize static_g_define_type_id<br> = 0; if ((__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); (void<br>) (0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0<br>)); (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_skeleton_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_skeleton_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_interface_skeleton_get_type ()), g_intern_static_string<br> ("SnHostV0GenSkeleton"), sizeof (SnHostV0GenSkeletonClass), (<br>GClassInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_class_intern_init<br>, sizeof (SnHostV0GenSkeleton), (GInstanceInitFunc)(void (*)(<br>void)) sn_host_v0_gen_skeleton_init, (GTypeFlags) 0); { {{ const<br> GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc<br>)(void (*)(void)) sn_host_v0_gen_skeleton_iface_init, ((void*<br>)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> <span class='macro'>G_IMPLEMENT_INTERFACE (SN_TYPE_HOST_V0_GEN, sn_host_v0_gen_skeleton_iface_init))<span class='macro_popup'>static void sn_host_v0_gen_skeleton_init (SnHostV0GenSkeleton<br> *self); static void sn_host_v0_gen_skeleton_class_init (SnHostV0GenSkeletonClass<br> *klass); static GType sn_host_v0_gen_skeleton_get_type_once (<br>void); static gpointer sn_host_v0_gen_skeleton_parent_class =<br> ((void*)0); static gint SnHostV0GenSkeleton_private_offset; static<br> void sn_host_v0_gen_skeleton_class_intern_init (gpointer klass<br>) { sn_host_v0_gen_skeleton_parent_class = g_type_class_peek_parent<br> (klass); if (SnHostV0GenSkeleton_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;SnHostV0GenSkeleton_private_offset); sn_host_v0_gen_skeleton_class_init<br> ((SnHostV0GenSkeletonClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer sn_host_v0_gen_skeleton_get_instance_private<br> (SnHostV0GenSkeleton *self) { return (((gpointer) ((guint8*)<br> (self) + (glong) (SnHostV0GenSkeleton_private_offset)))); } GType<br> sn_host_v0_gen_skeleton_get_type (void) { static gsize static_g_define_type_id<br> = 0; if ((__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); (void<br>) (0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0<br>)); (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = sn_host_v0_gen_skeleton_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType sn_host_v0_gen_skeleton_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((g_dbus_interface_skeleton_get_type ()), g_intern_static_string<br> ("SnHostV0GenSkeleton"), sizeof (SnHostV0GenSkeletonClass), (<br>GClassInitFunc)(void (*)(void)) sn_host_v0_gen_skeleton_class_intern_init<br>, sizeof (SnHostV0GenSkeleton), (GInstanceInitFunc)(void (*)(<br>void)) sn_host_v0_gen_skeleton_init, (GTypeFlags) 0); { {{ const<br> GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc<br>)(void (*)(void)) sn_host_v0_gen_skeleton_iface_init, ((void*<br>)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id<br>, (sn_host_v0_gen_get_type ()), &amp;g_implement_interface_info<br>); };} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line">sn_host_v0_gen_skeleton_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> SnHostV0GenSkeleton *skeleton = <span class='macro'>SN_HOST_V0_GEN_SKELETON (object)<span class='macro_popup'>((((SnHostV0GenSkeleton*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((object)), ((sn_host_v0_gen_skeleton_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> g_list_free_full (skeleton-&gt;priv-&gt;changed_properties, (GDestroyNotify) _changed_property_free);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> <span class='keyword'>if</span> (skeleton-&gt;priv-&gt;changed_properties_idle_source != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> g_source_destroy (skeleton-&gt;priv-&gt;changed_properties_idle_source);</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> g_main_context_unref (skeleton-&gt;priv-&gt;context);</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> g_mutex_clear (&amp;skeleton-&gt;priv-&gt;lock);</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (sn_host_v0_gen_skeleton_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((sn_host_v0_gen_skeleton_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line">sn_host_v0_gen_skeleton_init (SnHostV0GenSkeleton *skeleton)</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_VERSION_MAX_ALLOWED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span> &gt;= <span class='macro'>GLIB_VERSION_2_38<span class='macro_popup'>(((2) &lt;&lt; 16 | (38) &lt;&lt; 8))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> skeleton-&gt;priv = sn_host_v0_gen_skeleton_get_instance_private (skeleton);</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> skeleton-&gt;priv = <span class='macro'>G_TYPE_INSTANCE_GET_PRIVATE (skeleton, SN_TYPE_HOST_V0_GEN_SKELETON, SnHostV0GenSkeletonPrivate)<span class='macro_popup'>((SnHostV0GenSkeletonPrivate*) g_type_instance_get_private ((<br>GTypeInstance*) (skeleton), ((sn_host_v0_gen_skeleton_get_type<br> ())))) GCC warning "Deprecated pre-processor symbol: replace with \"G_ADD_PRIVATE\""<br>
+</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> g_mutex_init (&amp;skeleton-&gt;priv-&gt;lock);</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> skeleton-&gt;priv-&gt;context = g_main_context_ref_thread_default ();</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line">sn_host_v0_gen_skeleton_class_init (SnHostV0GenSkeletonClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> GObjectClass *gobject_class;</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> GDBusInterfaceSkeletonClass *skeleton_class;</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> gobject_class = <span class='macro'>G_OBJECT_CLASS (klass)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((klass)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> gobject_class-&gt;finalize = sn_host_v0_gen_skeleton_finalize;</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> skeleton_class = <span class='macro'>G_DBUS_INTERFACE_SKELETON_CLASS (klass)<span class='macro_popup'>((((GDBusInterfaceSkeletonClass*) (void *) g_type_check_class_cast<br> ((GTypeClass*) ((klass)), ((g_dbus_interface_skeleton_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> skeleton_class-&gt;get_info = sn_host_v0_gen_skeleton_dbus_interface_get_info;</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> skeleton_class-&gt;get_properties = sn_host_v0_gen_skeleton_dbus_interface_get_properties;</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> skeleton_class-&gt;flush = sn_host_v0_gen_skeleton_dbus_interface_flush;</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> skeleton_class-&gt;get_vtable = sn_host_v0_gen_skeleton_dbus_interface_get_vtable;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_VERSION_MAX_ALLOWED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span> &lt; <span class='macro'>GLIB_VERSION_2_38<span class='macro_popup'>(((2) &lt;&lt; 16 | (38) &lt;&lt; 8))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_type_class_add_private (klass, <span class='keyword'>sizeof</span> (SnHostV0GenSkeletonPrivate));</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line">sn_host_v0_gen_skeleton_iface_init (SnHostV0GenIface *iface <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='comment'>* sn_host_v0_gen_skeleton_new:</span></td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='comment'>* Creates a skeleton object for the D-Bus interface &lt;link linkend="gdbus-interface-org-kde-StatusNotifierHost.top_of_page"&gt;org.kde.StatusNotifierHost&lt;/link&gt;.</span></td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> <span class='comment'>* Returns: (transfer full) (type SnHostV0GenSkeleton): The skeleton object.</span></td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line">SnHostV0Gen *</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line">sn_host_v0_gen_skeleton_new (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>SN_HOST_V0_GEN (g_object_new (SN_TYPE_HOST_V0_GEN_SKELETON, NULL))<span class='macro_popup'>((((SnHostV0Gen*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((g_object_new ((sn_host_v0_gen_skeleton_get_type ()), ((void<br>*)0)))), ((sn_host_v0_gen_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> </td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-0e0727.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-0e0727.html
new file mode 100644
index 00000000..203308ba
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-0e0727.html
@@ -0,0 +1,6265 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-toplevel.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Assigned value is garbage or undefined -->
+
+<!-- BUGTYPE Assigned value is garbage or undefined -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-toplevel.c -->
+
+<!-- FILENAME panel-toplevel.c -->
+
+<!-- FUNCTIONNAME panel_toplevel_update_size -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 0e07279e7b01373085990a3217f55a68 -->
+
+<!-- BUGLINE 2411 -->
+
+<!-- BUGCOLUMN 9 -->
+
+<!-- BUGPATHLENGTH 7 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-toplevel.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 2411, column 9</a><br />Assigned value is garbage or undefined</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-toplevel.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-toplevel.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"2388": 1, "2389": 1, "2390": 1, "2391": 1, "2392": 1, "2393": 1, "2394": 1, "2395": 1, "2396": 1, "2397": 1, "2398": 1, "2399": 1, "2401": 1, "2404": 1, "2405": 1, "2406": 1, "2407": 1, "2409": 1, "2411": 1, "2499": 1, "2500": 1, "2501": 1, "2502": 1, "2503": 1, "2504": 1, "3130": 1, "3131": 1, "3132": 1, "3133": 1, "3134": 1, "3135": 1, "3136": 1, "3137": 1, "3138": 1, "3139": 1, "3141": 1, "3142": 1, "3146": 1, "3148": 1, "3149": 1, "3152": 1, "3154": 1, "3183": 1, "3184": 1, "3185": 1, "3186": 1, "3187": 1, "3188": 1, "3189": 1, "5270": 1, "5271": 1, "5272": 1, "5274": 1, "5282": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+ <path class="arrow" id="arrow0"/>
+ <path class="arrow" id="arrow1"/>
+ <path class="arrow" id="arrow2"/>
+ <path class="arrow" id="arrow3"/>
+ <path class="arrow" id="arrow4"/>
+ <path class="arrow" id="arrow5"/>
+ <path class="arrow" id="arrow6"/>
+ <path class="arrow" id="arrow7"/>
+ <path class="arrow" id="arrow8"/>
+ <path class="arrow" id="arrow9"/>
+ <path class="arrow" id="arrow10"/>
+ <path class="arrow" id="arrow11"/>
+ <path class="arrow" id="arrow12"/>
+ <path class="arrow" id="arrow13"/>
+ <path class="arrow" id="arrow14"/>
+ <path class="arrow" id="arrow15"/>
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 16,15,12,10,8,5,3,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* panel-toplevel.c: The panel's toplevel window object.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2004 Rob Adams</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-frame.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-a11y.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-typebuiltins.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "panel-bindings.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "panel-config-global.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#include "xstuff.h"</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#include "panel-xutils.h"</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='directive'>#include "panel-struts.h"</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='directive'>#include "wayland-backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span> 48</span></td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> 1</span></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span> 300</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> 8</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#define <span class='macro'>MINIMUM_WIDTH<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"><span class='directive'>#define <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#define <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span> 6</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span> 20</span></td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"><span class='directive'>#define <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span> 10</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> PANEL_GRAB_OP_NONE,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> PANEL_GRAB_OP_MOVE,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> PANEL_GRAB_OP_RESIZE,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> PANEL_GRAB_OP_RESIZE_UP,</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> PANEL_GRAB_OP_RESIZE_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> PANEL_GRAB_OP_RESIZE_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> PANEL_GRAB_OP_RESIZE_RIGHT</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} PanelGrabOpType;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>struct</span> _PanelToplevelPrivate {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> gchar *settings_path;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> gboolean expand;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>int</span> x;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>int</span> y;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='comment'>/* relative to the bottom right corner, -1 to ignore and use x, y*/</span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='comment'>/* this is used when the configured monitor is missing. We keep it so</span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> <span class='comment'>* we can move the toplevel to the right monitor when it becomes</span></td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='comment'>* available */</span></td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='keyword'>int</span> configured_monitor;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>int</span> hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>int</span> unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> PanelAnimationSpeed animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> GtkSettings *gtk_settings;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> PanelState state;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> guint hide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> guint unhide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>int</span> original_width;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>int</span> original_height;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='comment'>/* The offset within the panel from which the panel</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='comment'>* drag was initiated relative to the screen origin.</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>int</span> drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>int</span> drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='comment'>/* Saved state before for cancelled grab op */</span></td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>int</span> orig_monitor;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> orig_x;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>int</span> orig_y;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>int</span> orig_x_right;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>int</span> orig_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>int</span> orig_size;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>int</span> orig_orientation;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>int</span> animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>int</span> animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>int</span> animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>int</span> animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> gint64 animation_start_time; <span class='comment'>/* monotonic start time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> GTimeSpan animation_duration_time; <span class='comment'>/* monotonic duration time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> guint animation_timeout;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> PanelFrame *inner_frame;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> GtkWidget *grid;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GtkWidget *hide_button_top;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> GtkWidget *hide_button_bottom;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> GtkWidget *hide_button_left;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> GtkWidget *hide_button_right;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> PanelToplevel *attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> gulong attach_toplevel_signals [<span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> GtkWidget *attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> gulong attach_widget_signals [<span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> gint n_autohide_disablers;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> guint auto_hide : 1;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> guint animate : 1;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> guint buttons_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> guint arrows_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* The co-ordinates are relative to center screen */</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> guint x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> guint y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> <span class='comment'>/* The panel is not lined up with th screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> guint floating : 1;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='comment'>/* We are currently animating a hide/show */</span></td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> guint animating : 1;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='comment'>/* This is a keyboard initiated grab operation */</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> guint grab_is_keyboard : 1;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='comment'>/* The x-y co-ordinates temporarily specify the panel center.</span></td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='comment'>* This is used when the panel is rotating, because the width/height</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='comment'>* of the toplevel might change, so we need to compute new values for</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='comment'>* those. */</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> guint position_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='comment'>/* The toplevel is "attached" to another widget */</span></td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> guint attached : 1;</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='comment'>/* Hidden temporarily because the attach_toplevel was hidden */</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> guint attach_hidden : 1;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='comment'>/* More saved grab op state */</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> guint orig_x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> guint orig_y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='comment'>/* flag to see if we have already done geometry updating,</span></td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='comment'>if not then we're still loading and can ignore many things */</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> guint updated_geometry_initial : 1;</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='comment'>/* flag to see if we have done the initial animation */</span></td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> guint initial_animation_done : 1;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> HIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> UNHIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> POPUP_PANEL_MENU_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> TOGGLE_EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> UNEXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> TOGGLE_HIDDEN_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> BEGIN_MOVE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> BEGIN_RESIZE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> PROP_ARROWS_ENABLED</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (PanelToplevel, panel_toplevel, GTK_TYPE_WINDOW)<span class='macro_popup'>static void panel_toplevel_init (PanelToplevel *self); static<br> void panel_toplevel_class_init (PanelToplevelClass *klass); static<br> GType panel_toplevel_get_type_once (void); static gpointer panel_toplevel_parent_class<br> = ((void*)0); static gint PanelToplevel_private_offset; static<br> void panel_toplevel_class_intern_init (gpointer klass) { panel_toplevel_parent_class<br> = g_type_class_peek_parent (klass); if (PanelToplevel_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;PanelToplevel_private_offset<br>); panel_toplevel_class_init ((PanelToplevelClass*) klass); }<br> __attribute__ ((__unused__)) static inline gpointer panel_toplevel_get_instance_private<br> (PanelToplevel *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (PanelToplevel_private_offset)))); } GType panel_toplevel_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = panel_toplevel_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType panel_toplevel_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_window_get_type ()), g_intern_static_string ("PanelToplevel"<br>), sizeof (PanelToplevelClass), (GClassInitFunc)(void (*)(void<br>)) panel_toplevel_class_intern_init, sizeof (PanelToplevel), (<br>GInstanceInitFunc)(void (*)(void)) panel_toplevel_init, (GTypeFlags<br>) 0); { {{ PanelToplevel_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (PanelToplevelPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='keyword'>static</span> guint toplevel_signals[LAST_SIGNAL] = {0};</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"><span class='keyword'>static</span> GSList* toplevel_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calculate_animation_end_geometry(PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_monitor(PanelToplevel* toplevel);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_set_monitor_internal(PanelToplevel* toplevel, <span class='keyword'>int</span> monitor, gboolean force_resize);</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line">update_style_classes (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='comment'>/*ensure the panel BG can always be themed*/</span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='comment'>/*Without this gtk3.19/20 cannot set the BG color and resetting the bg to system is not immediately applied*/</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 302, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">GSList* panel_toplevel_list_toplevels(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>return</span> toplevel_list;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"><span class='comment'>/* Is this the last un-attached toplevel? */</span></td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">gboolean panel_toplevel_is_last_unattached(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> GSList* l;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached(toplevel))</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='keyword'>for</span> (l = toplevel_list; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> PanelToplevel* t = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>if</span> (t != toplevel &amp;&amp; !panel_toplevel_get_is_attached(t))</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_get_monitor_geometry(PanelToplevel* toplevel, GdkRectangle *geom)</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='macro'>g_return_if_fail(PANEL_IS_TOPLEVEL(toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> <span class='macro'>g_return_if_fail(geom)<span class='macro_popup'>do { if ((geom)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "geom"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> geom-&gt;x = panel_multimonitor_x(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> geom-&gt;y = panel_multimonitor_y(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> geom-&gt;width = panel_multimonitor_width(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> geom-&gt;height = panel_multimonitor_height(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='keyword'>static</span> GdkCursorType panel_toplevel_grab_op_cursor(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> GdkCursorType retval = -1;</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> retval = GDK_CROSS;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> retval = GDK_FLEUR;</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> retval = GDK_TOP_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> retval = GDK_BOTTOM_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> retval = GDK_LEFT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> retval = GDK_RIGHT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 371, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_init_resize_drag_offsets(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='macro'>g_assert (GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel))))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 381<br>, ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y =</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x =</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 402, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_warp_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget)))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> x = y = 0;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> y = geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> x = geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 441, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_MOVE ||</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_RESIZE) {</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = x;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = y;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> panel_toplevel_init_resize_drag_offsets (toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> panel_warp_pointer (gtk_widget_get_window (widget), x, y);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_attached_move(PanelToplevel* toplevel, gboolean is_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> PanelWidget *attached_panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> attached_panel_widget = panel_toplevel_get_panel_widget (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> panel_widget_applet_drag_start (attached_panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> is_keyboard ? <span class='macro'>PW_DRAG_OFF_CENTER<span class='macro_popup'>-2</span></span> : <span class='macro'>PW_DRAG_OFF_CURSOR<span class='macro_popup'>-1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> time_);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_grab_op(PanelToplevel* toplevel, PanelGrabOpType op_type, gboolean grab_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> GdkCursorType cursor_type;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> GdkCursor *cursor;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> GdkSeatCapabilities capabilities;</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down ())</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='comment'>/* If any of the position/orientation are not writable,</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>then we can't really move freely */</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='keyword'>if</span> (op_type == PANEL_GRAB_OP_MOVE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> ! panel_profile_can_be_moved_freely (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>/* If size is not writable, then we can't resize */</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>if</span> ((op_type == PANEL_GRAB_OP_RESIZE ||</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_UP ||</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_RIGHT) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> ! panel_profile_key_is_writable (toplevel, <span class='macro'>PANEL_TOPLEVEL_SIZE_KEY<span class='macro_popup'>"size"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; op_type == PANEL_GRAB_OP_MOVE) {</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> panel_toplevel_begin_attached_move (toplevel, grab_keyboard, time_);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = op_type;</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = (grab_keyboard != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> toplevel-&gt;priv-&gt;orig_monitor = toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> toplevel-&gt;priv-&gt;orig_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> toplevel-&gt;priv-&gt;orig_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> toplevel-&gt;priv-&gt;orig_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> toplevel-&gt;priv-&gt;orig_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> gtk_grab_add (widget);</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard) {</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> panel_toplevel_warp_pointer (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> cursor_type = panel_toplevel_grab_op_cursor (</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> cursor = gdk_cursor_new_for_display (gdk_display_get_default (),</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> cursor_type);</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> capabilities = GDK_SEAT_CAPABILITY_POINTER;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='keyword'>if</span> (grab_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> capabilities |= GDK_SEAT_CAPABILITY_KEYBOARD;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> gdk_seat_grab (seat, window, capabilities, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, cursor,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> g_object_unref (cursor);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_end_grab_op (PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> gtk_grab_remove (widget);</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> display = gtk_widget_get_display (widget);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_cancel_grab_op(PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> panel_toplevel_set_orientation (toplevel, toplevel-&gt;priv-&gt;orig_orientation);</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> panel_toplevel_set_monitor (toplevel, toplevel-&gt;priv-&gt;orig_monitor);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> panel_toplevel_set_size (toplevel, toplevel-&gt;priv-&gt;orig_size);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> toplevel-&gt;priv-&gt;orig_x,</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right,</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> toplevel-&gt;priv-&gt;orig_y,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_resize_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> x, <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>int</span> new_x_right, new_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>int</span> new_x_centered, new_y_centered;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> new_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> new_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> new_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> new_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> new_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> new_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> new_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_y - y;</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> new_y -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> new_size = y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_x - x;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> new_x -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> new_size = x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 637, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>if</span> (new_size == 0)</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> panel_toplevel_set_x (toplevel, new_x, new_x_right, new_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> panel_toplevel_set_y (toplevel, new_y, new_y_bottom, new_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> panel_toplevel_set_size (toplevel, new_size);</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"><span class='comment'>/* this is called for expanded panels that are dragged around */</span></td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_new_orientation(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>int</span> hborder, vborder;</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='keyword'>int</span> monitor_width, monitor_height;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (pointer_x, pointer_y);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.height &lt; toplevel-&gt;priv-&gt;geometry.width)</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.height) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.width) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> new_x = pointer_x - panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> new_y = pointer_y - panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> monitor_width = panel_multimonitor_width (monitor);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> monitor_height = panel_multimonitor_height (monitor);</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &gt; hborder) {</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; (monitor_height - hborder)) {</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &gt; vborder) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; (monitor_width - vborder)) {</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 718, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> panel_toplevel_set_monitor (toplevel, monitor);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to(PanelToplevel* toplevel, <span class='keyword'>int</span> new_x, <span class='keyword'>int</span> new_y)</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> gboolean x_centered, y_centered;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> GdkPoint display_min, display_max;</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='keyword'>int</span> new_monitor;</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='keyword'>int</span> x, y, x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> panel_multimonitor_get_bounds (&amp;display_min, &amp;display_max);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> new_x = <span class='macro'>CLAMP (new_x, 0, display_max.x - width)<span class='macro_popup'>(((new_x) &gt; (display_max.x - width)) ? (display_max.x - width<br>) : (((new_x) &lt; (0)) ? (0) : (new_x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> new_y = <span class='macro'>CLAMP (new_y, 0, display_max.y - height)<span class='macro_popup'>(((new_y) &gt; (display_max.y - height)) ? (display_max.y - height<br>) : (((new_y) &lt; (0)) ? (0) : (new_y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= (display_min.x + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_x + width) &gt;= (display_max.x - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= (display_min.y + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_y + height) &gt;= (display_max.y - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> new_monitor = panel_multimonitor_get_monitor_at_point (new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> x = new_x - panel_multimonitor_x (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> y = new_y - panel_multimonitor_y (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= display_min.y + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> new_y + height &gt;= display_max.y - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> x_centered = abs (x - ((monitor_geom.width - width) / 2))</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= display_min.x + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> new_x + width &gt;= display_max.x - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> y_centered = abs (y - ((monitor_geom.height - height) / 2))</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>if</span> (x_centered)</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> x = (monitor_geom.width - width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='keyword'>if</span> (y_centered)</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> y = (monitor_geom.height - height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>if</span> (!x_centered &amp;&amp; (x + width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> x_right = monitor_geom.width - (x + width);</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='keyword'>if</span> (!y_centered &amp;&amp; (y + height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> y_bottom = monitor_geom.height - (y + height);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> panel_toplevel_set_monitor (toplevel, new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> panel_toplevel_set_x (toplevel, x, x_right, x_centered);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> panel_toplevel_set_y (toplevel, y, y_bottom, y_centered);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> new_x = pointer_x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> new_y = pointer_y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> panel_toplevel_move_to (toplevel, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_rotate_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> <span class='keyword'>int</span> x_diff, y_diff;</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> x_diff = pointer_x - (x + toplevel-&gt;priv-&gt;geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> y_diff = pointer_y - (y + toplevel-&gt;priv-&gt;geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>if</span> (((-y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> (( y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_RIGHT);</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> (( x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_BOTTOM);</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((( y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> ((-y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_LEFT);</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> (( x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_TOP);</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_warp_pointer_increment(PanelToplevel* toplevel, <span class='keyword'>int</span> keyval, <span class='keyword'>int</span> increment)</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> GdkWindow *root_window;</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_X11_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_x11_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_X11_SCREEN (screen)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> root_window = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> device = gdk_seat_get_pointer (gdk_display_get_default_seat (gtk_widget_get_display (<span class='macro'>GTK_WIDGET(root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>)));</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> gdk_window_get_device_position (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>), device, &amp;new_x, &amp;new_y, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> <span class='keyword'>switch</span> (keyval) {</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> new_y -= increment;</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> new_x -= increment;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> new_y += increment;</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> new_x += increment;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 884, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> panel_warp_pointer (root_window, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_floating(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"><span class='directive'>#define SMALL_INCREMENT 1</span></td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"><span class='directive'>#define NORMAL_INCREMENT 10</span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='keyword'>int</span> increment = NORMAL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_SHIFT_MASK)</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> increment = SMALL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_warp_pointer_increment (</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> toplevel, event-&gt;keyval, increment);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"><span class='directive'>#undef SMALL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"><span class='directive'>#undef NORMAL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_expanded(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 934, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_initial_resize_keypress(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_UP;</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 973, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, grab_op, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_key_event(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> retval = panel_toplevel_move_keyboard_expanded (</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> retval = panel_toplevel_move_keyboard_floating (</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> retval = panel_toplevel_initial_resize_keypress (toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> retval = panel_toplevel_warp_pointer_increment (toplevel, event-&gt;keyval, 1);</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1022, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Escape<span class='macro_popup'>0xff1b</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> panel_toplevel_cancel_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Return<span class='macro_popup'>0xff0d</span></span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Enter<span class='macro_popup'>0xff8d</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_space<span class='macro_popup'>0x020</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Space<span class='macro_popup'>0xff80</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='keyword'>default</span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_motion_event(PanelToplevel* toplevel, GdkEventMotion* event)</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> panel_toplevel_calc_new_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_CONTROL_MASK)</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> panel_toplevel_rotate_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> panel_toplevel_move_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> panel_toplevel_resize_to_pointer (toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_floating(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> GdkPoint position_on_monitor;</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> toplevel-&gt;priv-&gt;floating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> position_on_monitor.x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> position_on_monitor.x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> position_on_monitor.y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> position_on_monitor.y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> (position_on_monitor.y &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> (position_on_monitor.y &lt; (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> (position_on_monitor.x &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> (position_on_monitor.x &lt; (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"><span class='keyword'>void</span> panel_toplevel_push_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;n_autohide_disablers++)</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='keyword'>void</span> panel_toplevel_pop_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0))<br> { } else { g_return_if_fail_warning (((gchar*) 0), ((const char<br>*) (__func__)), "toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>if</span> (!--toplevel-&gt;priv-&gt;n_autohide_disablers)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_get_autohide_disabled(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0 ? <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span> : <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_hide_button_event(PanelToplevel* toplevel, GdkEventButton* event, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 1)</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='keyword'>return</span> gtk_widget_event (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_hide_button_clicked(PanelToplevel* toplevel, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> gboolean ltr;</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating ||</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> ltr = gtk_widget_get_direction (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>) == GTK_TEXT_DIR_LTR;</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL) {</td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> GtkDirectionType direction;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> direction = GTK_DIR_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> direction = ltr ? GTK_DIR_LEFT : GTK_DIR_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> direction = ltr ? GTK_DIR_RIGHT : GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1163, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, (gint) direction);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line">set_arrow_type (GtkImage *image,</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> GtkArrowType arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>switch</span> (arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_NONE:</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-down-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-up-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-start-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-end-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"><span class='keyword'>static</span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line">panel_toplevel_add_hide_button (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> GtkArrowType arrow_type,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> <span class='keyword'>int</span> left,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='keyword'>int</span> top)</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkWidget *button;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> AtkObject *obj;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> button = gtk_button_new ();</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> obj = gtk_widget_get_accessible (button);</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> atk_object_set_name (obj, <span class='macro'>_(<span class='string_literal'>"Hide Panel"</span>)<span class='macro_popup'>gettext ("Hide Panel")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> gtk_widget_set_can_default (button, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> arrow = gtk_image_new ();</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (button)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_container_get_type ()))))))</span></span>, arrow);</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> gtk_widget_show (arrow);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='string_literal'>"arrow-type"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_clicked), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-press-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-release-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, button, left, top, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='keyword'>return</span> button;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_buttons_showing(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='keyword'>switch</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1260, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"><span class='comment'>/* force set hide button size on panel size &lt; 30px */</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons_size (GtkWidget *button, <span class='keyword'>int</span> panel_size)</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> GtkCssProvider *css_provider;</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> GtkSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gchar *gtk_theme_name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> context = gtk_widget_get_style_context (button);</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"panel-button"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='comment'>/* get defaults from theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> settings = gtk_settings_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> g_object_get (settings, <span class='string_literal'>"gtk-theme-name"</span>, &amp;gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> css_provider = gtk_css_provider_get_named (gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> g_free (gtk_theme_name);</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> <span class='comment'>/* set custom css by adding our custom code to the default theme css</span></td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='comment'>* NOTE that contriary to the documentation:</span></td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='comment'>* https://developer.gnome.org/gtk3/stable/GtkCssProvider.html#gtk-css-provider-load-from-data</span></td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> <span class='comment'>* the previously loaded theme is NOT cleared from the css_provider. (reason unknown)</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='comment'>* In other words, this works exactly, how we need it here.</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='comment'>* ALSO NOTE that using gtk_css_provider_to_string () to convert the theme css data into a string</span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='comment'>* and then adding the custom css, then adding this updated css to a css_provider</span></td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='comment'>* with the gtk_css_provider_load_from_data () also works,</span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='comment'>* however some themes can't be easily converted to strings, beacuse of the binary data</span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='comment'>* they contain. This causes a delay of minutes in loading the mate-panel,</span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='comment'>* and so this approach is not viable. */</span></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 30) {</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> gtk_css_provider_load_from_data (css_provider, <span class='string_literal'>".panel-button {min-height: 13px; min-width: 13px; padding: 0px;}"</span>, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> gtk_style_context_add_provider (context, <span class='macro'>GTK_STYLE_PROVIDER (css_provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((css_provider)), ((gtk_style_provider_get_type<br> ()))))))</span></span>, <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='comment'>/* get arrow image */</span></td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> arrow = gtk_bin_get_child (<span class='macro'>GTK_BIN (button)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_bin_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> <span class='comment'>/* set image size */</span></td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20) {</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 12);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40) {</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 16);</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60) {</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 22);</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 24);</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>int</span> panel_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> panel_toplevel_update_buttons_showing (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_top, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_left, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_right, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), (((GType) ((20)<br> &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), (((GType) ((<br>20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='comment'>/* set size after setting the arrow */</span></td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> <span class='keyword'>int</span> hb_size;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20)</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> hb_size = 16;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40)</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> hb_size = 20;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60)</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> hb_size = 26;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> hb_size = 30;</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_top, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_left, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_right, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_contains_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> GdkDevice *pointer;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> pointer = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> screen = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> x = y = -1;</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> gdk_device_get_position (pointer, &amp;screen, &amp;x, &amp;y);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>if</span> (screen != gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>if</span> (x == -1 || y == -1)</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> <span class='keyword'>if</span> (x &lt; toplevel-&gt;priv-&gt;geometry.x || x &gt;= (toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width) ||</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> y &lt; toplevel-&gt;priv-&gt;geometry.y || y &gt;= (toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height))</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> <span class='keyword'>int</span> panel_toplevel_get_effective_auto_hide_size(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_height / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_width / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> <span class='comment'>/* paranoia */</span></td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> <span class='keyword'>return</span> (size &lt;= 0) ? <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> : size;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_update_struts(PanelToplevel* toplevel, gboolean end_of_animation)</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> gboolean geometry_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>int</span> strut, strut_start, strut_end;</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;updated_geometry_initial)</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span> &amp;&amp; toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> <span class='comment'>/* In the case of the initial animation, we really want the struts to</span></td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> <span class='comment'>* represent what is at the end of the animation, to avoid desktop</span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='comment'>* icons jumping around. */</span></td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> end_of_animation = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='comment'>/* We've not started the animation yet, so we have to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> <span class='comment'>* where we want to end. Note that we don't want to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='comment'>* this everytime, since the struts conflict resolution will be</span></td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> <span class='comment'>* overridden if we do so */</span></td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> <span class='keyword'>if</span> (end_of_animation) {</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> x = toplevel-&gt;priv-&gt;animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> y = toplevel-&gt;priv-&gt;animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> width = toplevel-&gt;priv-&gt;animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> height = toplevel-&gt;priv-&gt;animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> strut = strut_start = strut_end = 0;</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> <span class='keyword'>if</span> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> <span class='keyword'>if</span> (y &lt;= monitor_geom.y) {</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> strut = y + height - monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (y &gt;= monitor_geom.y + monitor_geom.height - height) {</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> strut = monitor_geom.y + monitor_geom.height - y;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> strut_start = <span class='macro'>MAX (x, monitor_geom.x)<span class='macro_popup'>(((x) &gt; (monitor_geom.x)) ? (x) : (monitor_geom.x))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> strut_end = <span class='macro'>MIN (x + width, monitor_geom.x + monitor_geom.width)<span class='macro_popup'>(((x + width) &lt; (monitor_geom.x + monitor_geom.width)) ? (<br>x + width) : (monitor_geom.x + monitor_geom.width))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>if</span> (x &lt;= monitor_geom.x) {</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> strut = x + width - monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (x &gt;= monitor_geom.x + monitor_geom.width - width) {</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> strut = monitor_geom.x + monitor_geom.width - x;</td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> strut_start = <span class='macro'>MAX (y, monitor_geom.y)<span class='macro_popup'>(((y) &gt; (monitor_geom.y)) ? (y) : (monitor_geom.y))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> strut_end = <span class='macro'>MIN (y + height, monitor_geom.y + monitor_geom.height)<span class='macro_popup'>(((y + height) &lt; (monitor_geom.y + monitor_geom.height)) ?<br> (y + height) : (monitor_geom.y + monitor_geom.height))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> <span class='keyword'>if</span> (orientation != toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; strut &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> strut = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> screen = gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> geometry_changed = panel_struts_register_strut (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> screen,</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> toplevel-&gt;priv-&gt;monitor,</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> orientation,</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> strut,</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> strut_start,</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> strut_end);</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN ||</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> panel_struts_unset_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> <span class='keyword'>return</span> geometry_changed;</td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"><span class='keyword'>void</span> panel_toplevel_update_edges(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> PanelFrameEdge inner_edges;</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"> PanelFrameEdge outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> gboolean inner_frame = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"> <span class='comment'>/* We don't want any bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> edges |= PANEL_EDGE_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> edges |= PANEL_EDGE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &lt; (monitor_geom.height - height))</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> edges |= PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &lt; (monitor_geom.width - width))</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> edges |= PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> <span class='comment'>/* There is a conflict in the position algorithm when a</span></td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> <span class='comment'>* non-expanded centered panel is nearly the size of the</span></td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='comment'>* screen. This is similar to the one we have in</span></td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"> <span class='comment'>* panel_toplevel_update_position(). A simple solution is</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> <span class='comment'>* to keep the bevels in this case. */</span></td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_left) ||</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_right)) {</td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_top) ||</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_bottom)) {</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>if</span> (!inner_frame) {</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> inner_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> outer_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> inner_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> outer_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> panel_frame_set_edges (toplevel-&gt;priv-&gt;inner_frame, inner_edges);</td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges != outer_edges) {</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> toplevel-&gt;priv-&gt;edges = outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_construct_description(PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Drawer"</span>)<span class='macro_popup'>gettext ("Drawer")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> <span class='comment'>/* translators: these string will be shown in MetaCity's switch window</span></td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> <span class='comment'>* popup when you pass the focus to a panel */</span></td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Bottom Panel"</span>)<span class='macro_popup'>gettext ("Bottom Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Left Panel"</span>)<span class='macro_popup'>gettext ("Left Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Right Panel"</span>)<span class='macro_popup'>gettext ("Right Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1655, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> description = panel_toplevel_construct_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;description, description))</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description)</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_free (toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>g_strdup (description)<span class='macro_popup'>g_strdup_inline (description)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name)</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name :</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> toplevel-&gt;priv-&gt;description,</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_attached_position(PanelToplevel* toplevel, gboolean hidden, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> GtkAllocation attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> GdkRectangle toplevel_box;</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> GdkRectangle parent_box;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> GdkRectangle attach_box;</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> <span class='keyword'>int</span> x_origin = 0, y_origin = 0;</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_widget_get_type<br> ()))))))</span></span>) ||</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> !gtk_widget_get_realized (toplevel-&gt;priv-&gt;attach_widget))</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> gtk_widget_get_allocation (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>, &amp;attach_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> toplevel_box = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> parent_box = toplevel-&gt;priv-&gt;attach_toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> attach_box = attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> <span class='keyword'>if</span> (attach_box.x != -1) {</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> &amp;x_origin, &amp;y_origin);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> attach_box.x += x_origin;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> attach_box.y += y_origin;</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> <span class='comment'>/* attach_widget isn't allocated. Put the toplevel</span></td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='comment'>* off screen.</span></td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> attach_box.x = -toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> attach_box.y = -toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> attach_orientation = panel_toplevel_get_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> <span class='keyword'>if</span> (attach_orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> *x = attach_box.x + attach_box.width / 2 - toplevel_box.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> *y = attach_box.y + attach_box.height / 2 - toplevel_box.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> *y += parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> *y -= toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> *x += parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> *x -= toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1756, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> *x -= monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> *y -= monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - toplevel-&gt;priv-&gt;original_width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>)) ? (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - toplevel-&gt;priv-&gt;original_height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>)) ? (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_normal_position(PanelToplevel* toplevel, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1777, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - width)) ? (monitor_geom.width<br> - width) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - height)) ? (monitor_geom.height<br> - height) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line">panel_toplevel_update_auto_hide_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> <span class='keyword'>int</span> *h,</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> gboolean for_end_position)</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1825, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;floating) {</td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> panel_toplevel_update_normal_position (toplevel, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='comment'>/* For the initial animation, we animate from outside the screen, and</span></td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> <span class='comment'>* so we don't want the toplevel to be visible at all. But when the</span></td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line"> <span class='comment'>* request is for the end position, then we give the real result (it's</span></td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> <span class='comment'>* useful for struts) */</span></td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"> <span class='keyword'>if</span> (for_end_position || toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line"> auto_hide_size = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> auto_hide_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> *y = - (height - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> *y = monitor_geom.height - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> *x = - (width - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> *x = monitor_geom.width - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1862, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> } <span class='keyword'>else</span> <span class='comment'>/* if (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK) */</span> {</td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='comment'>/* FIXME: this is wrong for Xinerama. In the Xinerama case</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line"> <span class='comment'>* I think if hiding it requires it to go onto the</span></td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line"> <span class='comment'>* next monitor then it should just move it on to</span></td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> <span class='comment'>* the next monitor and set its state back to normal</span></td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line">panel_toplevel_update_hidden_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> <span class='keyword'>int</span> *h)</td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> <span class='keyword'>int</span> min_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> GtkAllocation hide_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1904, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line"> <span class='comment'>/* FIXME should find a better default */</span></td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> min_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_bottom,</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> *y = - (height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_top,</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> *y = monitor_geom.height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_right,</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"> *x = - (width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_left,</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> *x = monitor_geom.width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1946, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> <span class='comment'>* This is "almost" like the double sine movement</span></td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> <span class='comment'>* from the original panel except that it uses</span></td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='comment'>* a cubic (twice again). I suppose it looks less</span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='comment'>* mathematical now :) -- _v_</span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line">get_delta (<span class='keyword'>int</span> src,</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> <span class='keyword'>int</span> dest,</td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"> GTimeSpan elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> GTimeSpan duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> <span class='keyword'>double</span> x, percentage;</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>if</span> (abs (dest - src) &lt;= 1 || elapsed_time &gt;= duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line"> <span class='keyword'>return</span> dest - src;</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"> <span class='comment'>/* The cubic is: p(x) = (-2) x^2 (x-1.5) */</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line"> <span class='comment'>/* running p(p(x)) to make it more "pronounced",</span></td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line"> <span class='comment'>* effectively making it a ninth-degree polynomial */</span></td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> x = (<span class='keyword'>double</span>)elapsed_time/duration_time;</td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> x = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>/* run it again */</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> percentage = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> percentage = <span class='macro'>CLAMP (percentage, 0.0, 1.0)<span class='macro_popup'>(((percentage) &gt; (1.0)) ? (1.0) : (((percentage) &lt; (0.0<br>)) ? (0.0) : (percentage)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line"> <span class='keyword'>return</span> ((dest - src) * percentage);</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">panel_toplevel_update_animating_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GTimeSpan animation_elapsed_time;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> <span class='keyword'>int</span> monitor_offset_x, monitor_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;animation_start_time &lt;= 0) ||</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> (toplevel-&gt;priv-&gt;animation_duration_time &lt;= 0))</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> animation_elapsed_time = g_get_monotonic_time () - toplevel-&gt;priv-&gt;animation_start_time;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> monitor_offset_x = panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> monitor_offset_y = panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> deltaw = get_delta (toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> deltah = get_delta (toplevel-&gt;priv-&gt;geometry.height,</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> deltax = get_delta (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> deltay = get_delta (toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='keyword'>if</span> (deltaw != 0 &amp;&amp; abs (deltaw) &gt; abs (deltax))</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> deltax = deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> <span class='keyword'>if</span> (deltah != 0 &amp;&amp; abs (deltah) &gt; abs (deltay))</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> deltay = deltah;</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x += deltax;</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y += deltay;</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width += deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height += deltah;</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x == toplevel-&gt;priv-&gt;animation_end_x &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y == toplevel-&gt;priv-&gt;animation_end_y) {</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='comment'>/* Note: it's important to set initial_animation_done to TRUE</span></td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='comment'>* as soon as possible (hence, here) since we don't want to</span></td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> <span class='comment'>* have a wrong value in a size request event */</span></td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; panel_toplevel_get_is_hidden (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> gtk_widget_unmap (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line">panel_toplevel_update_expanded_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> <span class='keyword'>int</span> x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> x = -1;</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> y = -1;</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> y = monitor_geom.y + monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> y_bottom = 0;</td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> x = monitor_geom.x + monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> x_right = 0;</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2087, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (x, y);</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> x -= panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> y -= panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x_right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y_bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line">panel_toplevel_update_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='keyword'>int</span> w, h;</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> panel_toplevel_update_animating_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;position_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> toplevel-&gt;priv-&gt;x -= toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> x_right = monitor_geom.width - (toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line"> <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line"> toplevel-&gt;priv-&gt;y -= toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> y_bottom = monitor_geom.height - (toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> panel_toplevel_update_expanded_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> panel_toplevel_calc_floating (toplevel); <span class='comment'>/* FIXME should probably be done after panel_toplevel_update_normal_position() too */</span></td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line"> y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> w = h = -1;</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> panel_toplevel_update_normal_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> panel_toplevel_update_hidden_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> <span class='keyword'>if</span> (w != -1)</td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = w;</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> <span class='keyword'>if</span> (h != -1)</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = h;</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"> <span class='comment'>/* This is some kind of snap: there's a possibility of an infinite loop</span></td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line"> <span class='comment'>* because of the bevels of the frame that are set in</span></td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='comment'>* panel_toplevel_update_edges(). The bevels change the width/height of</span></td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='comment'>* the toplevel. The typical loop is:</span></td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='comment'>* x = 1 =&gt; outer bevel =&gt; x = 0 =&gt; no outer bevel = &gt; x = 1 =&gt; ...</span></td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='comment'>* FIXME: maybe the real bug is that we enter into this loop (see bug</span></td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> <span class='comment'>* #160748 to learn how to reproduce.) */</span></td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> background = &amp;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> <span class='comment'>/* There's no bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> <span class='keyword'>if</span> (panel_background_effective_type (background) == PANEL_BACK_NONE) {</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> GdkRectangle *geometry;</td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> <span class='keyword'>int</span> max_size;</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> state = gtk_widget_get_state_flags (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> geometry = &amp;toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> <span class='keyword'>if</span> (x &lt;= padding.left &amp;&amp; x &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> <span class='keyword'>if</span> (y &lt;= padding.top &amp;&amp; y &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> max_size = monitor_geom.width - geometry-&gt;width - padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> <span class='keyword'>if</span> (x + padding.left &gt;= max_size &amp;&amp; x &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> x = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> max_size = monitor_geom.height - geometry-&gt;height - padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> <span class='keyword'>if</span> (y + padding.top &gt;= max_size &amp;&amp; y &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> y = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = x;</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = y;</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line">calculate_minimum_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> GtkStyleContext *style_context;</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> PangoFontDescription *font_desc;</td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> PangoContext *pango_context;</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> PangoFontMetrics *metrics;</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> <span class='keyword'>int</span> ascent;</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> <span class='keyword'>int</span> descent;</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> <span class='keyword'>int</span> thickness;</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> style_context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> gtk_style_context_get(style_context, state, <span class='macro'>GTK_STYLE_PROPERTY_FONT<span class='macro_popup'>"font"</span></span>, &amp;font_desc, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> pango_context = gtk_widget_get_pango_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> metrics = pango_context_get_metrics (pango_context,</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> font_desc,</td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> pango_context_get_language (pango_context));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> gtk_style_context_get_padding (style_context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> ascent = pango_font_metrics_get_ascent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> descent = pango_font_metrics_get_descent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> pango_font_description_free (font_desc);</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> pango_font_metrics_unref (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line"> thickness = (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> padding.top + padding.bottom :</td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"> padding.left + padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANGO_PIXELS (ascent + descent)<span class='macro_popup'>(((int)(ascent + descent) + 512) &gt;&gt; 10)</span></span> + thickness;</td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line">panel_toplevel_update_size_from_hints (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='keyword'>int</span> requisition_size,</td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='keyword'>int</span> monitor_size,</td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size)</td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='keyword'>int</span> nb_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> AppletSizeHints *applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> AppletSizeHintsAlloc *using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='keyword'>int</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='keyword'>int</span> full_hints;</td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='comment'>/* Scale down the size so that the panel only takes what it needs for the applets it has. */</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> total_size = non_panel_widget_size + (requisition_size / toplevel-&gt;priv-&gt;scale);</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"> nb_size_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;nb_applets_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> <span class='keyword'>if</span> (nb_size_hints &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> applets_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line"> using_hint = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> using_hint[i].index = applets_hints[i].len - 2;</td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"> using_hint[i].size = applets_hints[i].hints[applets_hints[i].len - 1];</td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line"> total_size += using_hint[i].size;</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> <span class='keyword'>if</span> (total_size &gt; monitor_size)</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>return</span> monitor_size;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> <span class='keyword'>while</span> (full_hints != nb_size_hints &amp;&amp; total_size &lt; monitor_size) {</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> <span class='keyword'>int</span> bonus;</td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> <span class='keyword'>int</span> extra_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> / (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> extra_bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> % (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> <span class='keyword'>int</span> current_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> current_bonus = bonus;</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> <span class='keyword'>while</span> (using_hint[i].index &gt; 0 &amp;&amp; applets_hints[i].hints[using_hint[i].index - 1] &lt; using_hint[i].size + current_bonus) {</td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"> new_size = applets_hints[i].hints[using_hint[i].index - 1];</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line"> current_bonus = using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> + current_bonus - new_size;</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> total_size = total_size - using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> + new_size;</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> using_hint[i].index -= 2;</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"> <span class='macro'>using_hint[i].size + current_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> total_size += (new_size - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (extra_bonus &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> <span class='macro'>using_hint[i].size + extra_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> total_size += (new_size</td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> extra_bonus -= (new_size</td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line"> <span class='keyword'>if</span> (using_hint[i].size == applets_hints[i].hints[using_hint[i].index])</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> full_hints++;</td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"><span id="start7"><span class='keyword'>static</span></span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line">panel_toplevel_update_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> <span id="start6"><span id="end7">GtkWidget</span></span> *widget;</td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='keyword'>int</span> minimum_height;</td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size;</td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line"> <span id="start5"><span id="end6"><span class='keyword'>if</span></span></span> (<span id="start4"><span class="mrange"><span id="end5">toplevel</span></span>-&gt;priv-&gt;animating</span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path5" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">5</div></td><td><div class="PathNav"><a href="#Path4" title="Previous event (4)">&#x2190;</a></div></td><td>Assuming field 'animating' is 0</td><td><div class="PathNav"><a href="#Path6" title="Next event (6)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path6" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">6</div></td><td><div class="PathNav"><a href="#Path5" title="Previous event (5)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#EndPath" title="Next event (7)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> <span id="start1"><span id="end2"><span id="start3"><span id="end4">widget</span></span></span></span> = <span id="start2"><span id="end3"><span class='macro'>GTK_WIDGET</span></span> (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"> <span id="start0"><span id="end1">width</span></span> <span id="end0">=</span> <span class="mrange">requisition-&gt;width</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:16ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">7</div></td><td><div class="PathNav"><a href="#Path6" title="Previous event (6)">&#x2190;</a></div></td><td>Assigned value is garbage or undefined</td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> height = requisition-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> !toplevel-&gt;priv-&gt;buttons_enabled &amp;&amp; !toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> non_panel_widget_size = 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> non_panel_widget_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> minimum_height = calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> height = <span class='macro'>MAX (MIN (MAX (height, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> <span class='keyword'>int</span> max_width;</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> max_width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> max_width = monitor_geom.width</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> max_width = toplevel-&gt;priv-&gt;geometry.x +</td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> width = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> requisition-&gt;width,</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> max_width,</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> width = <span class='macro'>MAX (MINIMUM_WIDTH, width)<span class='macro_popup'>(((100) &gt; (width)) ? (100) : (width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> width = <span class='macro'>MAX (MIN (MAX (width, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> <span class='keyword'>int</span> max_height;</td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> max_height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> max_height = monitor_geom.height</td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> max_height = toplevel-&gt;priv-&gt;geometry.y +</td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> height = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> requisition-&gt;height,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> max_height,</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line"> height = <span class='macro'>MAX (MINIMUM_WIDTH, height)<span class='macro_popup'>(((100) &gt; (height)) ? (100) : (height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> height += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> height += padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> width += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> width += padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = <span class='macro'>CLAMP (width, 0, monitor_geom.width)<span class='macro_popup'>(((width) &gt; (monitor_geom.width)) ? (monitor_geom.width) :<br> (((width) &lt; (0)) ? (0) : (width)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = <span class='macro'>CLAMP (height, 0, monitor_geom.height)<span class='macro_popup'>(((height) &gt; (monitor_geom.height)) ? (monitor_geom.height<br>) : (((height) &lt; (0)) ? (0) : (height)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> toplevel-&gt;priv-&gt;original_width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> toplevel-&gt;priv-&gt;original_height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"><span id="start9"><span class='keyword'>static</span></span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">panel_toplevel_update_geometry (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> <span id="start8"><span id="end9">toplevel</span></span>-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> <span class="mrange"><span id="end8">panel_toplevel_update_size</span> (toplevel, requisition)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path4" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">4</div></td><td><div class="PathNav"><a href="#Path3" title="Previous event (3)">&#x2190;</a></div></td><td>Calling 'panel_toplevel_update_size'</td><td><div class="PathNav"><a href="#Path5" title="Next event (5)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> panel_toplevel_update_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line">panel_toplevel_attach_widget_destroyed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> panel_toplevel_detach (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line">panel_toplevel_attach_widget_configure (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line">panel_toplevel_update_attach_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> attach_orientation =</td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"> panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2567"><td class="num" id="LN2567">2567</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="2568"><td class="num" id="LN2568">2568</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2569"><td class="num" id="LN2569">2569</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2570"><td class="num" id="LN2570">2570</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2570, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2571"><td class="num" id="LN2571">2571</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2572"><td class="num" id="LN2572">2572</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2573"><td class="num" id="LN2573">2573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2574"><td class="num" id="LN2574">2574</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="2575"><td class="num" id="LN2575">2575</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2576"><td class="num" id="LN2576">2576</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2577"><td class="num" id="LN2577">2577</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2578"><td class="num" id="LN2578">2578</td><td class="line">panel_toplevel_attach_widget_parent_set (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2579"><td class="num" id="LN2579">2579</td><td class="line"> GtkWidget *previous_parent,</td></tr>
+<tr class="codeline" data-linenumber="2580"><td class="num" id="LN2580">2580</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2581"><td class="num" id="LN2581">2581</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2582"><td class="num" id="LN2582">2582</td><td class="line"> GtkWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="2583"><td class="num" id="LN2583">2583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2584"><td class="num" id="LN2584">2584</td><td class="line"> panel_widget = gtk_widget_get_parent (<span class='macro'>GTK_WIDGET (attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_widget)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2585"><td class="num" id="LN2585">2585</td><td class="line"> <span class='keyword'>if</span> (!panel_widget)</td></tr>
+<tr class="codeline" data-linenumber="2586"><td class="num" id="LN2586">2586</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2587"><td class="num" id="LN2587">2587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2588"><td class="num" id="LN2588">2588</td><td class="line"> <span class='macro'>g_assert (PANEL_IS_WIDGET (panel_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((panel_widget)); GType __t = ((panel_widget_get_type()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>))))) ; else g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2588, ((const char*) (__func__)), "PANEL_IS_WIDGET (panel_widget)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2589"><td class="num" id="LN2589">2589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2590"><td class="num" id="LN2590">2590</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>PANEL_WIDGET (panel_widget)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel_widget)), ((panel_widget_get_type()))))))</span></span>-&gt;toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2591"><td class="num" id="LN2591">2591</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2592"><td class="num" id="LN2592">2592</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2593"><td class="num" id="LN2593">2593</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2594"><td class="num" id="LN2594">2594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2595"><td class="num" id="LN2595">2595</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2596"><td class="num" id="LN2596">2596</td><td class="line">panel_toplevel_attach_toplevel_hiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2597"><td class="num" id="LN2597">2597</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2598"><td class="num" id="LN2598">2598</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_get_is_hidden (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="2599"><td class="num" id="LN2599">2599</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="2600"><td class="num" id="LN2600">2600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2601"><td class="num" id="LN2601">2601</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2602"><td class="num" id="LN2602">2602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2603"><td class="num" id="LN2603">2603</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2604"><td class="num" id="LN2604">2604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2605"><td class="num" id="LN2605">2605</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2606"><td class="num" id="LN2606">2606</td><td class="line">panel_toplevel_attach_toplevel_unhiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2607"><td class="num" id="LN2607">2607</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2608"><td class="num" id="LN2608">2608</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attach_hidden)</td></tr>
+<tr class="codeline" data-linenumber="2609"><td class="num" id="LN2609">2609</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2610"><td class="num" id="LN2610">2610</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2611"><td class="num" id="LN2611">2611</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2612"><td class="num" id="LN2612">2612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2613"><td class="num" id="LN2613">2613</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2614"><td class="num" id="LN2614">2614</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2615"><td class="num" id="LN2615">2615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2616"><td class="num" id="LN2616">2616</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2617"><td class="num" id="LN2617">2617</td><td class="line">panel_toplevel_reverse_arrow (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2618"><td class="num" id="LN2618">2618</td><td class="line"> GtkWidget *button)</td></tr>
+<tr class="codeline" data-linenumber="2619"><td class="num" id="LN2619">2619</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2620"><td class="num" id="LN2620">2620</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="2621"><td class="num" id="LN2621">2621</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2622"><td class="num" id="LN2622">2622</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2623"><td class="num" id="LN2623">2623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2624"><td class="num" id="LN2624">2624</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="2625"><td class="num" id="LN2625">2625</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="2626"><td class="num" id="LN2626">2626</td><td class="line"> arrow_type = GTK_ARROW_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="2627"><td class="num" id="LN2627">2627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2628"><td class="num" id="LN2628">2628</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="2629"><td class="num" id="LN2629">2629</td><td class="line"> arrow_type = GTK_ARROW_UP;</td></tr>
+<tr class="codeline" data-linenumber="2630"><td class="num" id="LN2630">2630</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2631"><td class="num" id="LN2631">2631</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2632"><td class="num" id="LN2632">2632</td><td class="line"> arrow_type = GTK_ARROW_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2633"><td class="num" id="LN2633">2633</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2634"><td class="num" id="LN2634">2634</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2635"><td class="num" id="LN2635">2635</td><td class="line"> arrow_type = GTK_ARROW_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2636"><td class="num" id="LN2636">2636</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2637"><td class="num" id="LN2637">2637</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2638"><td class="num" id="LN2638">2638</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2638, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2639"><td class="num" id="LN2639">2639</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2640"><td class="num" id="LN2640">2640</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2641"><td class="num" id="LN2641">2641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2642"><td class="num" id="LN2642">2642</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrow-type"</span>, <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2643"><td class="num" id="LN2643">2643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2644"><td class="num" id="LN2644">2644</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (gtk_bin_get_child (GTK_BIN (button)))<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_bin_get_child (((((GtkBin*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), ((gtk_bin_get_type ())))))))))<br>, ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="2645"><td class="num" id="LN2645">2645</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2646"><td class="num" id="LN2646">2646</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2647"><td class="num" id="LN2647">2647</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2648"><td class="num" id="LN2648">2648</td><td class="line">panel_toplevel_reverse_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2649"><td class="num" id="LN2649">2649</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2650"><td class="num" id="LN2650">2650</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="2651"><td class="num" id="LN2651">2651</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="2652"><td class="num" id="LN2652">2652</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="2653"><td class="num" id="LN2653">2653</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="2654"><td class="num" id="LN2654">2654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2655"><td class="num" id="LN2655">2655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2656"><td class="num" id="LN2656">2656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2657"><td class="num" id="LN2657">2657</td><td class="line">panel_toplevel_disconnect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2658"><td class="num" id="LN2658">2658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2659"><td class="num" id="LN2659">2659</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="2660"><td class="num" id="LN2660">2660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2661"><td class="num" id="LN2661">2661</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION(2,62,0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (62)) || (2 == (2<br>) &amp;&amp; 78 == (62) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2662"><td class="num" id="LN2662">2662</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2663"><td class="num" id="LN2663">2663</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_toplevel_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2664"><td class="num" id="LN2664">2664</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2665"><td class="num" id="LN2665">2665</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2666"><td class="num" id="LN2666">2666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2667"><td class="num" id="LN2667">2667</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2668"><td class="num" id="LN2668">2668</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_widget_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2669"><td class="num" id="LN2669">2669</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2670"><td class="num" id="LN2670">2670</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2671"><td class="num" id="LN2671">2671</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2672"><td class="num" id="LN2672">2672</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2673"><td class="num" id="LN2673">2673</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2674"><td class="num" id="LN2674">2674</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2675"><td class="num" id="LN2675">2675</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2676"><td class="num" id="LN2676">2676</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2677"><td class="num" id="LN2677">2677</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2678"><td class="num" id="LN2678">2678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2679"><td class="num" id="LN2679">2679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2680"><td class="num" id="LN2680">2680</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2681"><td class="num" id="LN2681">2681</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_widget_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2682"><td class="num" id="LN2682">2682</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="2683"><td class="num" id="LN2683">2683</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2684"><td class="num" id="LN2684">2684</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2685"><td class="num" id="LN2685">2685</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2686"><td class="num" id="LN2686">2686</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2687"><td class="num" id="LN2687">2687</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2688"><td class="num" id="LN2688">2688</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2689"><td class="num" id="LN2689">2689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2690"><td class="num" id="LN2690">2690</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2691"><td class="num" id="LN2691">2691</td><td class="line">panel_toplevel_connect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2692"><td class="num" id="LN2692">2692</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2693"><td class="num" id="LN2693">2693</td><td class="line"> gulong *signals;</td></tr>
+<tr class="codeline" data-linenumber="2694"><td class="num" id="LN2694">2694</td><td class="line"> <span class='keyword'>int</span> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2695"><td class="num" id="LN2695">2695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2696"><td class="num" id="LN2696">2696</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_toplevel_signals;</td></tr>
+<tr class="codeline" data-linenumber="2697"><td class="num" id="LN2697">2697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2698"><td class="num" id="LN2698">2698</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2699"><td class="num" id="LN2699">2699</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2700"><td class="num" id="LN2700">2700</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2701"><td class="num" id="LN2701">2701</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2702"><td class="num" id="LN2702">2702</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"notify::orientation"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2703"><td class="num" id="LN2703">2703</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_update_attach_orientation), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2704"><td class="num" id="LN2704">2704</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2705"><td class="num" id="LN2705">2705</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2706"><td class="num" id="LN2706">2706</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2707"><td class="num" id="LN2707">2707</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2708"><td class="num" id="LN2708">2708</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"hiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2709"><td class="num" id="LN2709">2709</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_hiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2710"><td class="num" id="LN2710">2710</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2711"><td class="num" id="LN2711">2711</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"unhiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2712"><td class="num" id="LN2712">2712</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_unhiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2713"><td class="num" id="LN2713">2713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2714"><td class="num" id="LN2714">2714</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_TOPLEVEL_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2714, ((const char*) (__func__)), "i == N_ATTACH_TOPLEVEL_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2715"><td class="num" id="LN2715">2715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2716"><td class="num" id="LN2716">2716</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_widget_signals;</td></tr>
+<tr class="codeline" data-linenumber="2717"><td class="num" id="LN2717">2717</td><td class="line"> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2718"><td class="num" id="LN2718">2718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2719"><td class="num" id="LN2719">2719</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2720"><td class="num" id="LN2720">2720</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2721"><td class="num" id="LN2721">2721</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2722"><td class="num" id="LN2722">2722</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2723"><td class="num" id="LN2723">2723</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2724"><td class="num" id="LN2724">2724</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2725"><td class="num" id="LN2725">2725</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2726"><td class="num" id="LN2726">2726</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"parent-set"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2727"><td class="num" id="LN2727">2727</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_parent_set), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2728"><td class="num" id="LN2728">2728</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2729"><td class="num" id="LN2729">2729</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"show"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2730"><td class="num" id="LN2730">2730</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_show), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2731"><td class="num" id="LN2731">2731</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2732"><td class="num" id="LN2732">2732</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"hide"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2733"><td class="num" id="LN2733">2733</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_hide), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2734"><td class="num" id="LN2734">2734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2735"><td class="num" id="LN2735">2735</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_WIDGET_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2735, ((const char*) (__func__)), "i == N_ATTACH_WIDGET_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2736"><td class="num" id="LN2736">2736</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2737"><td class="num" id="LN2737">2737</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2738"><td class="num" id="LN2738">2738</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2739"><td class="num" id="LN2739">2739</td><td class="line">panel_toplevel_attach_to_widget (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2740"><td class="num" id="LN2740">2740</td><td class="line"> PanelToplevel *attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2741"><td class="num" id="LN2741">2741</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2742"><td class="num" id="LN2742">2742</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2743"><td class="num" id="LN2743">2743</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2744"><td class="num" id="LN2744">2744</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (attach_toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_toplevel)); GType __t = ((panel_toplevel_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "PANEL_IS_TOPLEVEL (attach_toplevel)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2745"><td class="num" id="LN2745">2745</td><td class="line"> <span class='macro'>g_return_if_fail (GTK_IS_WIDGET (attach_widget))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_widget)); GType __t = ((gtk_widget_get_type ()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>)))))) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "GTK_IS_WIDGET (attach_widget)"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2746"><td class="num" id="LN2746">2746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2747"><td class="num" id="LN2747">2747</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2748"><td class="num" id="LN2748">2748</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2749"><td class="num" id="LN2749">2749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2750"><td class="num" id="LN2750">2750</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2751"><td class="num" id="LN2751">2751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2752"><td class="num" id="LN2752">2752</td><td class="line"> <span class='comment'>/* Cancelling the initial animation for drawers in</span></td></tr>
+<tr class="codeline" data-linenumber="2753"><td class="num" id="LN2753">2753</td><td class="line"> <span class='comment'>* panel_toplevel_initially_hide() is not enough, since this will</span></td></tr>
+<tr class="codeline" data-linenumber="2754"><td class="num" id="LN2754">2754</td><td class="line"> <span class='comment'>* happen only when the toplevel is realized, which might be too late</span></td></tr>
+<tr class="codeline" data-linenumber="2755"><td class="num" id="LN2755">2755</td><td class="line"> <span class='comment'>* for drawers (since it's realized when the drawer is clicked) */</span></td></tr>
+<tr class="codeline" data-linenumber="2756"><td class="num" id="LN2756">2756</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2757"><td class="num" id="LN2757">2757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2758"><td class="num" id="LN2758">2758</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2759"><td class="num" id="LN2759">2759</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2760"><td class="num" id="LN2760">2760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2761"><td class="num" id="LN2761">2761</td><td class="line"> panel_toplevel_connect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2762"><td class="num" id="LN2762">2762</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2763"><td class="num" id="LN2763">2763</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2764"><td class="num" id="LN2764">2764</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2765"><td class="num" id="LN2765">2765</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2766"><td class="num" id="LN2766">2766</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2767"><td class="num" id="LN2767">2767</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2768"><td class="num" id="LN2768">2768</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2769"><td class="num" id="LN2769">2769</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_toplevel)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2770"><td class="num" id="LN2770">2770</td><td class="line"> panel_toplevel_set_monitor (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2771"><td class="num" id="LN2771">2771</td><td class="line"> panel_toplevel_get_monitor (attach_toplevel));</td></tr>
+<tr class="codeline" data-linenumber="2772"><td class="num" id="LN2772">2772</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2773"><td class="num" id="LN2773">2773</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2774"><td class="num" id="LN2774">2774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2775"><td class="num" id="LN2775">2775</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2776"><td class="num" id="LN2776">2776</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2777"><td class="num" id="LN2777">2777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2778"><td class="num" id="LN2778">2778</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2779"><td class="num" id="LN2779">2779</td><td class="line">panel_toplevel_detach (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2780"><td class="num" id="LN2780">2780</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2781"><td class="num" id="LN2781">2781</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2782"><td class="num" id="LN2782">2782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2783"><td class="num" id="LN2783">2783</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2784"><td class="num" id="LN2784">2784</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2785"><td class="num" id="LN2785">2785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2786"><td class="num" id="LN2786">2786</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2787"><td class="num" id="LN2787">2787</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2788"><td class="num" id="LN2788">2788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2789"><td class="num" id="LN2789">2789</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2790"><td class="num" id="LN2790">2790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2791"><td class="num" id="LN2791">2791</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2792"><td class="num" id="LN2792">2792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2793"><td class="num" id="LN2793">2793</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2794"><td class="num" id="LN2794">2794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2795"><td class="num" id="LN2795">2795</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2796"><td class="num" id="LN2796">2796</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2797"><td class="num" id="LN2797">2797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2798"><td class="num" id="LN2798">2798</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2799"><td class="num" id="LN2799">2799</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2800"><td class="num" id="LN2800">2800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2801"><td class="num" id="LN2801">2801</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="2802"><td class="num" id="LN2802">2802</td><td class="line">panel_toplevel_get_is_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2803"><td class="num" id="LN2803">2803</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2804"><td class="num" id="LN2804">2804</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2805"><td class="num" id="LN2805">2805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2806"><td class="num" id="LN2806">2806</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attached;</td></tr>
+<tr class="codeline" data-linenumber="2807"><td class="num" id="LN2807">2807</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2808"><td class="num" id="LN2808">2808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2809"><td class="num" id="LN2809">2809</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="2810"><td class="num" id="LN2810">2810</td><td class="line">panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2811"><td class="num" id="LN2811">2811</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2812"><td class="num" id="LN2812">2812</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2813"><td class="num" id="LN2813">2813</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2814"><td class="num" id="LN2814">2814</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2815"><td class="num" id="LN2815">2815</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2816"><td class="num" id="LN2816">2816</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2817"><td class="num" id="LN2817">2817</td><td class="line">GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2818"><td class="num" id="LN2818">2818</td><td class="line">panel_toplevel_get_attach_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2819"><td class="num" id="LN2819">2819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2820"><td class="num" id="LN2820">2820</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2821"><td class="num" id="LN2821">2821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2822"><td class="num" id="LN2822">2822</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2823"><td class="num" id="LN2823">2823</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2824"><td class="num" id="LN2824">2824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2825"><td class="num" id="LN2825">2825</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2826"><td class="num" id="LN2826">2826</td><td class="line">panel_toplevel_popup_panel_menu (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2827"><td class="num" id="LN2827">2827</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2828"><td class="num" id="LN2828">2828</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2829"><td class="num" id="LN2829">2829</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2830"><td class="num" id="LN2830">2830</td><td class="line"> g_signal_emit_by_name (toplevel, <span class='string_literal'>"popup-menu"</span>, &amp;retval);</td></tr>
+<tr class="codeline" data-linenumber="2831"><td class="num" id="LN2831">2831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2832"><td class="num" id="LN2832">2832</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2833"><td class="num" id="LN2833">2833</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2834"><td class="num" id="LN2834">2834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2835"><td class="num" id="LN2835">2835</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2836"><td class="num" id="LN2836">2836</td><td class="line">panel_toplevel_toggle_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2837"><td class="num" id="LN2837">2837</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2838"><td class="num" id="LN2838">2838</td><td class="line"> panel_toplevel_set_expand (toplevel, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="2839"><td class="num" id="LN2839">2839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2840"><td class="num" id="LN2840">2840</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2841"><td class="num" id="LN2841">2841</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2842"><td class="num" id="LN2842">2842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2843"><td class="num" id="LN2843">2843</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2844"><td class="num" id="LN2844">2844</td><td class="line">panel_toplevel_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2845"><td class="num" id="LN2845">2845</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2846"><td class="num" id="LN2846">2846</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2847"><td class="num" id="LN2847">2847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2848"><td class="num" id="LN2848">2848</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2849"><td class="num" id="LN2849">2849</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2850"><td class="num" id="LN2850">2850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2851"><td class="num" id="LN2851">2851</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2852"><td class="num" id="LN2852">2852</td><td class="line">panel_toplevel_unexpand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2853"><td class="num" id="LN2853">2853</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2854"><td class="num" id="LN2854">2854</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2855"><td class="num" id="LN2855">2855</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2856"><td class="num" id="LN2856">2856</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2857"><td class="num" id="LN2857">2857</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2858"><td class="num" id="LN2858">2858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2859"><td class="num" id="LN2859">2859</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2860"><td class="num" id="LN2860">2860</td><td class="line">panel_toplevel_toggle_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2861"><td class="num" id="LN2861">2861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2862"><td class="num" id="LN2862">2862</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2863"><td class="num" id="LN2863">2863</td><td class="line"> panel_toplevel_hide (toplevel, toplevel-&gt;priv-&gt;auto_hide, -1);</td></tr>
+<tr class="codeline" data-linenumber="2864"><td class="num" id="LN2864">2864</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2865"><td class="num" id="LN2865">2865</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2866"><td class="num" id="LN2866">2866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2867"><td class="num" id="LN2867">2867</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2868"><td class="num" id="LN2868">2868</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2869"><td class="num" id="LN2869">2869</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2870"><td class="num" id="LN2870">2870</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2871"><td class="num" id="LN2871">2871</td><td class="line">panel_toplevel_begin_move (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2872"><td class="num" id="LN2872">2872</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2873"><td class="num" id="LN2873">2873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2874"><td class="num" id="LN2874">2874</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2875"><td class="num" id="LN2875">2875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2876"><td class="num" id="LN2876">2876</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2877"><td class="num" id="LN2877">2877</td><td class="line"> toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2878"><td class="num" id="LN2878">2878</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2879"><td class="num" id="LN2879">2879</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2880"><td class="num" id="LN2880">2880</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2881"><td class="num" id="LN2881">2881</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2882"><td class="num" id="LN2882">2882</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2883"><td class="num" id="LN2883">2883</td><td class="line">panel_toplevel_begin_resize (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2884"><td class="num" id="LN2884">2884</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2885"><td class="num" id="LN2885">2885</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2886"><td class="num" id="LN2886">2886</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2887"><td class="num" id="LN2887">2887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2888"><td class="num" id="LN2888">2888</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2889"><td class="num" id="LN2889">2889</td><td class="line"> toplevel, PANEL_GRAB_OP_RESIZE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2890"><td class="num" id="LN2890">2890</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2891"><td class="num" id="LN2891">2891</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2892"><td class="num" id="LN2892">2892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2893"><td class="num" id="LN2893">2893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2894"><td class="num" id="LN2894">2894</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2895"><td class="num" id="LN2895">2895</td><td class="line">panel_toplevel_move_resize_window (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2896"><td class="num" id="LN2896">2896</td><td class="line"> gboolean move,</td></tr>
+<tr class="codeline" data-linenumber="2897"><td class="num" id="LN2897">2897</td><td class="line"> gboolean resize)</td></tr>
+<tr class="codeline" data-linenumber="2898"><td class="num" id="LN2898">2898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2899"><td class="num" id="LN2899">2899</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2900"><td class="num" id="LN2900">2900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2901"><td class="num" id="LN2901">2901</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="2902"><td class="num" id="LN2902">2902</td><td class="line"> gboolean stick;</td></tr>
+<tr class="codeline" data-linenumber="2903"><td class="num" id="LN2903">2903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2904"><td class="num" id="LN2904">2904</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2905"><td class="num" id="LN2905">2905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2906"><td class="num" id="LN2906">2906</td><td class="line"> <span class='macro'>g_assert (gtk_widget_get_realized (widget))<span class='macro_popup'>do { if (gtk_widget_get_realized (widget)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 2906, ((const char*) (__func__<br>)), "gtk_widget_get_realized (widget)"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2907"><td class="num" id="LN2907">2907</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2908"><td class="num" id="LN2908">2908</td><td class="line"> <span class='keyword'>if</span> (move &amp;&amp; resize)</td></tr>
+<tr class="codeline" data-linenumber="2909"><td class="num" id="LN2909">2909</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2910"><td class="num" id="LN2910">2910</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2911"><td class="num" id="LN2911">2911</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2912"><td class="num" id="LN2912">2912</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2913"><td class="num" id="LN2913">2913</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2914"><td class="num" id="LN2914">2914</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (move)</td></tr>
+<tr class="codeline" data-linenumber="2915"><td class="num" id="LN2915">2915</td><td class="line"> gdk_window_move (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2916"><td class="num" id="LN2916">2916</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2917"><td class="num" id="LN2917">2917</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y);</td></tr>
+<tr class="codeline" data-linenumber="2918"><td class="num" id="LN2918">2918</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (resize)</td></tr>
+<tr class="codeline" data-linenumber="2919"><td class="num" id="LN2919">2919</td><td class="line"> gdk_window_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2920"><td class="num" id="LN2920">2920</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2921"><td class="num" id="LN2921">2921</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2922"><td class="num" id="LN2922">2922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2923"><td class="num" id="LN2923">2923</td><td class="line"> <span class='keyword'>if</span> (resize || move) {</td></tr>
+<tr class="codeline" data-linenumber="2924"><td class="num" id="LN2924">2924</td><td class="line"> <span class='keyword'>for</span> (list = toplevel-&gt;priv-&gt;panel_widget-&gt;applet_list; list != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; list = <span class='macro'>g_list_next (list)<span class='macro_popup'>((list) ? (((GList *)(list))-&gt;next) : ((void*)0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2925"><td class="num" id="LN2925">2925</td><td class="line"> AppletData *ad = list-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="2926"><td class="num" id="LN2926">2926</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = mate_panel_applet_get_id_by_widget (ad-&gt;applet);</td></tr>
+<tr class="codeline" data-linenumber="2927"><td class="num" id="LN2927">2927</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2928"><td class="num" id="LN2928">2928</td><td class="line"> <span class='keyword'>if</span> (!id)</td></tr>
+<tr class="codeline" data-linenumber="2929"><td class="num" id="LN2929">2929</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2930"><td class="num" id="LN2930">2930</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2931"><td class="num" id="LN2931">2931</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="2932"><td class="num" id="LN2932">2932</td><td class="line"> info = mate_panel_applet_get_by_id (id);</td></tr>
+<tr class="codeline" data-linenumber="2933"><td class="num" id="LN2933">2933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2934"><td class="num" id="LN2934">2934</td><td class="line"> stick = g_settings_get_boolean (info-&gt;settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2935"><td class="num" id="LN2935">2935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2936"><td class="num" id="LN2936">2936</td><td class="line"> <span class='keyword'>if</span> (stick) {</td></tr>
+<tr class="codeline" data-linenumber="2937"><td class="num" id="LN2937">2937</td><td class="line"> <span class='keyword'>int</span> position = g_settings_get_int (info-&gt;settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2938"><td class="num" id="LN2938">2938</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2939"><td class="num" id="LN2939">2939</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.width - position;</td></tr>
+<tr class="codeline" data-linenumber="2940"><td class="num" id="LN2940">2940</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2941"><td class="num" id="LN2941">2941</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.height - position;</td></tr>
+<tr class="codeline" data-linenumber="2942"><td class="num" id="LN2942">2942</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2943"><td class="num" id="LN2943">2943</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2944"><td class="num" id="LN2944">2944</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2945"><td class="num" id="LN2945">2945</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2946"><td class="num" id="LN2946">2946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2947"><td class="num" id="LN2947">2947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2948"><td class="num" id="LN2948">2948</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2949"><td class="num" id="LN2949">2949</td><td class="line">panel_toplevel_initially_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2950"><td class="num" id="LN2950">2950</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2951"><td class="num" id="LN2951">2951</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="2952"><td class="num" id="LN2952">2952</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2953"><td class="num" id="LN2953">2953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2954"><td class="num" id="LN2954">2954</td><td class="line"> <span class='comment'>/* We start the panel off hidden until all the applets are</span></td></tr>
+<tr class="codeline" data-linenumber="2955"><td class="num" id="LN2955">2955</td><td class="line"> <span class='comment'>* loaded, and then finally slide it down when it's ready to be</span></td></tr>
+<tr class="codeline" data-linenumber="2956"><td class="num" id="LN2956">2956</td><td class="line"> <span class='comment'>* used */</span></td></tr>
+<tr class="codeline" data-linenumber="2957"><td class="num" id="LN2957">2957</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="2958"><td class="num" id="LN2958">2958</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2959"><td class="num" id="LN2959">2959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2960"><td class="num" id="LN2960">2960</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2961"><td class="num" id="LN2961">2961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2962"><td class="num" id="LN2962">2962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2963"><td class="num" id="LN2963">2963</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2964"><td class="num" id="LN2964">2964</td><td class="line">set_background_default_style (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2965"><td class="num" id="LN2965">2965</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2966"><td class="num" id="LN2966">2966</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2967"><td class="num" id="LN2967">2967</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2968"><td class="num" id="LN2968">2968</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2969"><td class="num" id="LN2969">2969</td><td class="line"> GdkRGBA *bg_color;</td></tr>
+<tr class="codeline" data-linenumber="2970"><td class="num" id="LN2970">2970</td><td class="line"> cairo_pattern_t *bg_image;</td></tr>
+<tr class="codeline" data-linenumber="2971"><td class="num" id="LN2971">2971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2972"><td class="num" id="LN2972">2972</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="2973"><td class="num" id="LN2973">2973</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2974"><td class="num" id="LN2974">2974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2975"><td class="num" id="LN2975">2975</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2976"><td class="num" id="LN2976">2976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2977"><td class="num" id="LN2977">2977</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2978"><td class="num" id="LN2978">2978</td><td class="line"> state = gtk_style_context_get_state (context);</td></tr>
+<tr class="codeline" data-linenumber="2979"><td class="num" id="LN2979">2979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2980"><td class="num" id="LN2980">2980</td><td class="line"> gtk_style_context_get (context, state,</td></tr>
+<tr class="codeline" data-linenumber="2981"><td class="num" id="LN2981">2981</td><td class="line"> <span class='string_literal'>"background-color"</span>, &amp;bg_color,</td></tr>
+<tr class="codeline" data-linenumber="2982"><td class="num" id="LN2982">2982</td><td class="line"> <span class='string_literal'>"background-image"</span>, &amp;bg_image,</td></tr>
+<tr class="codeline" data-linenumber="2983"><td class="num" id="LN2983">2983</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2984"><td class="num" id="LN2984">2984</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2985"><td class="num" id="LN2985">2985</td><td class="line"> panel_background_set_default_style (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="2986"><td class="num" id="LN2986">2986</td><td class="line"> bg_color, bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2987"><td class="num" id="LN2987">2987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2988"><td class="num" id="LN2988">2988</td><td class="line"> <span class='keyword'>if</span> (bg_color)</td></tr>
+<tr class="codeline" data-linenumber="2989"><td class="num" id="LN2989">2989</td><td class="line"> gdk_rgba_free (bg_color);</td></tr>
+<tr class="codeline" data-linenumber="2990"><td class="num" id="LN2990">2990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2991"><td class="num" id="LN2991">2991</td><td class="line"> <span class='keyword'>if</span> (bg_image)</td></tr>
+<tr class="codeline" data-linenumber="2992"><td class="num" id="LN2992">2992</td><td class="line"> cairo_pattern_destroy (bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2993"><td class="num" id="LN2993">2993</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2994"><td class="num" id="LN2994">2994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2995"><td class="num" id="LN2995">2995</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2996"><td class="num" id="LN2996">2996</td><td class="line">panel_toplevel_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2997"><td class="num" id="LN2997">2997</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2998"><td class="num" id="LN2998">2998</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2999"><td class="num" id="LN2999">2999</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="3000"><td class="num" id="LN3000">3000</td><td class="line"> GdkVisual *visual;</td></tr>
+<tr class="codeline" data-linenumber="3001"><td class="num" id="LN3001">3001</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3002"><td class="num" id="LN3002">3002</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3003"><td class="num" id="LN3003">3003</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3004"><td class="num" id="LN3004">3004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3005"><td class="num" id="LN3005">3005</td><td class="line"> screen = gtk_widget_get_screen (widget);</td></tr>
+<tr class="codeline" data-linenumber="3006"><td class="num" id="LN3006">3006</td><td class="line"> visual = gdk_screen_get_rgba_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3007"><td class="num" id="LN3007">3007</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3008"><td class="num" id="LN3008">3008</td><td class="line"> <span class='keyword'>if</span> (visual == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3009"><td class="num" id="LN3009">3009</td><td class="line"> visual = gdk_screen_get_system_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3010"><td class="num" id="LN3010">3010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3011"><td class="num" id="LN3011">3011</td><td class="line"> gtk_widget_set_visual (widget, visual);</td></tr>
+<tr class="codeline" data-linenumber="3012"><td class="num" id="LN3012">3012</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3013"><td class="num" id="LN3013">3013</td><td class="line"> gtk_window_set_decorated (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3014"><td class="num" id="LN3014">3014</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3015"><td class="num" id="LN3015">3015</td><td class="line"> gtk_window_set_type_hint (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, GDK_WINDOW_TYPE_HINT_DOCK);</td></tr>
+<tr class="codeline" data-linenumber="3016"><td class="num" id="LN3016">3016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3017"><td class="num" id="LN3017">3017</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3018"><td class="num" id="LN3018">3018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3019"><td class="num" id="LN3019">3019</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3020"><td class="num" id="LN3020">3020</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3021"><td class="num" id="LN3021">3021</td><td class="line"> panel_background_realized (&amp;toplevel-&gt;background, window);</td></tr>
+<tr class="codeline" data-linenumber="3022"><td class="num" id="LN3022">3022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3023"><td class="num" id="LN3023">3023</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3024"><td class="num" id="LN3024">3024</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_WINDOW (window)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(window)); GType __t = ((gdk_x11_window_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3025"><td class="num" id="LN3025">3025</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3026"><td class="num" id="LN3026">3026</td><td class="line"> gdk_window_set_geometry_hints (window, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="3027"><td class="num" id="LN3027">3027</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3028"><td class="num" id="LN3028">3028</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3029"><td class="num" id="LN3029">3029</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3030"><td class="num" id="LN3030">3030</td><td class="line"> gdk_window_set_group (window, window);</td></tr>
+<tr class="codeline" data-linenumber="3031"><td class="num" id="LN3031">3031</td><td class="line"> panel_toplevel_initially_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3032"><td class="num" id="LN3032">3032</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3033"><td class="num" id="LN3033">3033</td><td class="line"> panel_toplevel_move_resize_window (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3034"><td class="num" id="LN3034">3034</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3035"><td class="num" id="LN3035">3035</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3036"><td class="num" id="LN3036">3036</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3037"><td class="num" id="LN3037">3037</td><td class="line">panel_toplevel_disconnect_timeouts (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3038"><td class="num" id="LN3038">3038</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3039"><td class="num" id="LN3039">3039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3040"><td class="num" id="LN3040">3040</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3041"><td class="num" id="LN3041">3041</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3042"><td class="num" id="LN3042">3042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3043"><td class="num" id="LN3043">3043</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3044"><td class="num" id="LN3044">3044</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3045"><td class="num" id="LN3045">3045</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3046"><td class="num" id="LN3046">3046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3047"><td class="num" id="LN3047">3047</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3048"><td class="num" id="LN3048">3048</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;animation_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3049"><td class="num" id="LN3049">3049</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3050"><td class="num" id="LN3050">3050</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3051"><td class="num" id="LN3051">3051</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3052"><td class="num" id="LN3052">3052</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3053"><td class="num" id="LN3053">3053</td><td class="line">panel_toplevel_unrealize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3054"><td class="num" id="LN3054">3054</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3055"><td class="num" id="LN3055">3055</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3056"><td class="num" id="LN3056">3056</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3057"><td class="num" id="LN3057">3057</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3058"><td class="num" id="LN3058">3058</td><td class="line"> panel_background_unrealized (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3059"><td class="num" id="LN3059">3059</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;unrealize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3060"><td class="num" id="LN3060">3060</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3061"><td class="num" id="LN3061">3061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3062"><td class="num" id="LN3062">3062</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3063"><td class="num" id="LN3063">3063</td><td class="line">panel_toplevel_dispose (GObject *widget)</td></tr>
+<tr class="codeline" data-linenumber="3064"><td class="num" id="LN3064">3064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3065"><td class="num" id="LN3065">3065</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3066"><td class="num" id="LN3066">3066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3067"><td class="num" id="LN3067">3067</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;settings_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;settings_path<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;settings_path)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;settings_path); __typeof__ (*(&amp;toplevel-&gt;<br>priv-&gt;settings_path)) _ptr = *_pp; *_pp = ((void*)0); if (<br>_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3068"><td class="num" id="LN3068">3068</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3069"><td class="num" id="LN3069">3069</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;settings) {</td></tr>
+<tr class="codeline" data-linenumber="3070"><td class="num" id="LN3070">3070</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;settings)<br>, G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3071"><td class="num" id="LN3071">3071</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;settings)) ==<br> sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;settings))) _pp = ((&amp;toplevel-&gt;settings<br>)); __typeof__ (*((&amp;toplevel-&gt;settings))) _ptr = *_pp;<br> *_pp = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3072"><td class="num" id="LN3072">3072</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3073"><td class="num" id="LN3073">3073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3074"><td class="num" id="LN3074">3074</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;queued_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;queued_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;queued_settings))) _pp = ((&amp;toplevel<br>-&gt;queued_settings)); __typeof__ (*((&amp;toplevel-&gt;queued_settings<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3075"><td class="num" id="LN3075">3075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3076"><td class="num" id="LN3076">3076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;background_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3077"><td class="num" id="LN3077">3077</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;background_settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;background_settings<br>), G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3078"><td class="num" id="LN3078">3078</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;background_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;background_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;background_settings))) _pp = ((&amp;toplevel<br>-&gt;background_settings)); __typeof__ (*((&amp;toplevel-&gt;<br>background_settings))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr<br>) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3079"><td class="num" id="LN3079">3079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3080"><td class="num" id="LN3080">3080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3081"><td class="num" id="LN3081">3081</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3082"><td class="num" id="LN3082">3082</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3083"><td class="num" id="LN3083">3083</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3084"><td class="num" id="LN3084">3084</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3085"><td class="num" id="LN3085">3085</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3086"><td class="num" id="LN3086">3086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3087"><td class="num" id="LN3087">3087</td><td class="line"> panel_background_free (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3088"><td class="num" id="LN3088">3088</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3089"><td class="num" id="LN3089">3089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3090"><td class="num" id="LN3090">3090</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3091"><td class="num" id="LN3091">3091</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3092"><td class="num" id="LN3092">3092</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3093"><td class="num" id="LN3093">3093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3094"><td class="num" id="LN3094">3094</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3095"><td class="num" id="LN3095">3095</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3096"><td class="num" id="LN3096">3096</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3097"><td class="num" id="LN3097">3097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3098"><td class="num" id="LN3098">3098</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;description, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;description<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;description)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;description); __typeof__ (*(&amp;toplevel-&gt;priv<br>-&gt;description)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (<br>g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3099"><td class="num" id="LN3099">3099</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;name, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;name<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;name)) _pp = (&amp;toplevel-&gt;<br>priv-&gt;name); __typeof__ (*(&amp;toplevel-&gt;priv-&gt;name<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3100"><td class="num" id="LN3100">3100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3101"><td class="num" id="LN3101">3101</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3102"><td class="num" id="LN3102">3102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3103"><td class="num" id="LN3103">3103</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;dispose (widget);</td></tr>
+<tr class="codeline" data-linenumber="3104"><td class="num" id="LN3104">3104</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3105"><td class="num" id="LN3105">3105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3106"><td class="num" id="LN3106">3106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3107"><td class="num" id="LN3107">3107</td><td class="line">panel_toplevel_check_resize (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="3108"><td class="num" id="LN3108">3108</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3109"><td class="num" id="LN3109">3109</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3110"><td class="num" id="LN3110">3110</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3111"><td class="num" id="LN3111">3111</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3112"><td class="num" id="LN3112">3112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3113"><td class="num" id="LN3113">3113</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (container)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3114"><td class="num" id="LN3114">3114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3115"><td class="num" id="LN3115">3115</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (widget))</td></tr>
+<tr class="codeline" data-linenumber="3116"><td class="num" id="LN3116">3116</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3117"><td class="num" id="LN3117">3117</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3118"><td class="num" id="LN3118">3118</td><td class="line"> requisition.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3119"><td class="num" id="LN3119">3119</td><td class="line"> requisition.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3120"><td class="num" id="LN3120">3120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3121"><td class="num" id="LN3121">3121</td><td class="line"> gtk_widget_get_preferred_size (widget, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3122"><td class="num" id="LN3122">3122</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3123"><td class="num" id="LN3123">3123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3124"><td class="num" id="LN3124">3124</td><td class="line"> allocation.width = requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3125"><td class="num" id="LN3125">3125</td><td class="line"> allocation.height = requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3126"><td class="num" id="LN3126">3126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3127"><td class="num" id="LN3127">3127</td><td class="line"> gtk_widget_size_allocate (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3128"><td class="num" id="LN3128">3128</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3129"><td class="num" id="LN3129">3129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3130"><td class="num" id="LN3130">3130</td><td class="line"><span id="start14"><span class='keyword'>static</span></span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3131"><td class="num" id="LN3131">3131</td><td class="line">panel_toplevel_size_request (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3132"><td class="num" id="LN3132">3132</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="3133"><td class="num" id="LN3133">3133</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3134"><td class="num" id="LN3134">3134</td><td class="line"> <span id="start13"><span id="end14">PanelToplevel</span></span> *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3135"><td class="num" id="LN3135">3135</td><td class="line"> GtkBin *bin;</td></tr>
+<tr class="codeline" data-linenumber="3136"><td class="num" id="LN3136">3136</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3137"><td class="num" id="LN3137">3137</td><td class="line"> GdkRectangle old_geometry;</td></tr>
+<tr class="codeline" data-linenumber="3138"><td class="num" id="LN3138">3138</td><td class="line"> <span class='keyword'>int</span> position_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3139"><td class="num" id="LN3139">3139</td><td class="line"> <span class='keyword'>int</span> size_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3140"><td class="num" id="LN3140">3140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3141"><td class="num" id="LN3141">3141</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3142"><td class="num" id="LN3142">3142</td><td class="line"> bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3143"><td class="num" id="LN3143">3143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3144"><td class="num" id="LN3144">3144</td><td class="line"> <span class='comment'>/* we get a size request when there are new monitors, so first try to</span></td></tr>
+<tr class="codeline" data-linenumber="3145"><td class="num" id="LN3145">3145</td><td class="line"> <span class='comment'>* see if we need to move to a new monitor */</span></td></tr>
+<tr class="codeline" data-linenumber="3146"><td class="num" id="LN3146">3146</td><td class="line"> panel_toplevel_update_monitor (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3147"><td class="num" id="LN3147">3147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3148"><td class="num" id="LN3148">3148</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3149"><td class="num" id="LN3149">3149</td><td class="line"> <span id="start12"><span id="end13"><span class='keyword'>if</span></span></span> (<span id="start11"><span class="mrange"><span id="end12">child</span></span></span> &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path2" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">2</div></td><td><div class="PathNav"><a href="#Path1" title="Previous event (1)">&#x2190;</a></div></td><td>Assuming 'child' is null</td><td><div class="PathNav"><a href="#Path3" title="Next event (3)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="3150"><td class="num" id="LN3150">3150</td><td class="line"> gtk_widget_get_preferred_size (child, requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3151"><td class="num" id="LN3151">3151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3152"><td class="num" id="LN3152">3152</td><td class="line"> <span id="start10"><span id="end11">old_geometry</span></span> = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="3153"><td class="num" id="LN3153">3153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3154"><td class="num" id="LN3154">3154</td><td class="line"> <span class="mrange"><span id="end10">panel_toplevel_update_geometry</span> (toplevel, requisition)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path3" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">3</div></td><td><div class="PathNav"><a href="#Path2" title="Previous event (2)">&#x2190;</a></div></td><td>Calling 'panel_toplevel_update_geometry'</td><td><div class="PathNav"><a href="#Path4" title="Next event (4)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="3155"><td class="num" id="LN3155">3155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3156"><td class="num" id="LN3156">3156</td><td class="line"> requisition-&gt;width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="3157"><td class="num" id="LN3157">3157</td><td class="line"> requisition-&gt;height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="3158"><td class="num" id="LN3158">3158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3159"><td class="num" id="LN3159">3159</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3160"><td class="num" id="LN3160">3160</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3161"><td class="num" id="LN3161">3161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3162"><td class="num" id="LN3162">3162</td><td class="line"> <span class='keyword'>if</span> (old_geometry.width != toplevel-&gt;priv-&gt;geometry.width ||</td></tr>
+<tr class="codeline" data-linenumber="3163"><td class="num" id="LN3163">3163</td><td class="line"> old_geometry.height != toplevel-&gt;priv-&gt;geometry.height)</td></tr>
+<tr class="codeline" data-linenumber="3164"><td class="num" id="LN3164">3164</td><td class="line"> size_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3165"><td class="num" id="LN3165">3165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3166"><td class="num" id="LN3166">3166</td><td class="line"> <span class='keyword'>if</span> (old_geometry.x != toplevel-&gt;priv-&gt;geometry.x ||</td></tr>
+<tr class="codeline" data-linenumber="3167"><td class="num" id="LN3167">3167</td><td class="line"> old_geometry.y != toplevel-&gt;priv-&gt;geometry.y)</td></tr>
+<tr class="codeline" data-linenumber="3168"><td class="num" id="LN3168">3168</td><td class="line"> position_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3169"><td class="num" id="LN3169">3169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3170"><td class="num" id="LN3170">3170</td><td class="line"> panel_toplevel_move_resize_window (toplevel, position_changed, size_changed);</td></tr>
+<tr class="codeline" data-linenumber="3171"><td class="num" id="LN3171">3171</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3172"><td class="num" id="LN3172">3172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3173"><td class="num" id="LN3173">3173</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3174"><td class="num" id="LN3174">3174</td><td class="line">panel_toplevel_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3175"><td class="num" id="LN3175">3175</td><td class="line"> gint *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="3176"><td class="num" id="LN3176">3176</td><td class="line"> gint *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="3177"><td class="num" id="LN3177">3177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3178"><td class="num" id="LN3178">3178</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3179"><td class="num" id="LN3179">3179</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3180"><td class="num" id="LN3180">3180</td><td class="line"> *minimum_width = *natural_width = req.width;</td></tr>
+<tr class="codeline" data-linenumber="3181"><td class="num" id="LN3181">3181</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3182"><td class="num" id="LN3182">3182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3183"><td class="num" id="LN3183">3183</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3184"><td class="num" id="LN3184">3184</td><td class="line">panel_toplevel_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3185"><td class="num" id="LN3185">3185</td><td class="line"> gint *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="3186"><td class="num" id="LN3186">3186</td><td class="line"> gint *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="3187"><td class="num" id="LN3187">3187</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3188"><td class="num" id="LN3188">3188</td><td class="line"> <span id="start15">GtkRequisition</span> req;</td></tr>
+<tr class="codeline" data-linenumber="3189"><td class="num" id="LN3189">3189</td><td class="line"> <span class="mrange"><span id="end15">panel_toplevel_size_request</span> (widget, &amp;req)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path1" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">1</div></td><td>Calling 'panel_toplevel_size_request'</td><td><div class="PathNav"><a href="#Path2" title="Next event (2)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="3190"><td class="num" id="LN3190">3190</td><td class="line"> *minimum_height = *natural_height = req.height;</td></tr>
+<tr class="codeline" data-linenumber="3191"><td class="num" id="LN3191">3191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3192"><td class="num" id="LN3192">3192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3193"><td class="num" id="LN3193">3193</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3194"><td class="num" id="LN3194">3194</td><td class="line">set_background_region (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3195"><td class="num" id="LN3195">3195</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3196"><td class="num" id="LN3196">3196</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3197"><td class="num" id="LN3197">3197</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3198"><td class="num" id="LN3198">3198</td><td class="line"> gint origin_x;</td></tr>
+<tr class="codeline" data-linenumber="3199"><td class="num" id="LN3199">3199</td><td class="line"> gint origin_y;</td></tr>
+<tr class="codeline" data-linenumber="3200"><td class="num" id="LN3200">3200</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3201"><td class="num" id="LN3201">3201</td><td class="line"> GtkOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="3202"><td class="num" id="LN3202">3202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3203"><td class="num" id="LN3203">3203</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3204"><td class="num" id="LN3204">3204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3205"><td class="num" id="LN3205">3205</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3206"><td class="num" id="LN3206">3206</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3207"><td class="num" id="LN3207">3207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3208"><td class="num" id="LN3208">3208</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3209"><td class="num" id="LN3209">3209</td><td class="line"> origin_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3210"><td class="num" id="LN3210">3210</td><td class="line"> origin_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3211"><td class="num" id="LN3211">3211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3212"><td class="num" id="LN3212">3212</td><td class="line"> gdk_window_get_origin (window, &amp;origin_x, &amp;origin_y);</td></tr>
+<tr class="codeline" data-linenumber="3213"><td class="num" id="LN3213">3213</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3214"><td class="num" id="LN3214">3214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3215"><td class="num" id="LN3215">3215</td><td class="line"> orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="3216"><td class="num" id="LN3216">3216</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3217"><td class="num" id="LN3217">3217</td><td class="line"> orientation = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="3218"><td class="num" id="LN3218">3218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3219"><td class="num" id="LN3219">3219</td><td class="line"> panel_background_change_region (&amp;toplevel-&gt;background, orientation,</td></tr>
+<tr class="codeline" data-linenumber="3220"><td class="num" id="LN3220">3220</td><td class="line"> origin_x, origin_y,</td></tr>
+<tr class="codeline" data-linenumber="3221"><td class="num" id="LN3221">3221</td><td class="line"> allocation.width, allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="3222"><td class="num" id="LN3222">3222</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3223"><td class="num" id="LN3223">3223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3224"><td class="num" id="LN3224">3224</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3225"><td class="num" id="LN3225">3225</td><td class="line">panel_toplevel_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3226"><td class="num" id="LN3226">3226</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="3227"><td class="num" id="LN3227">3227</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3228"><td class="num" id="LN3228">3228</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3229"><td class="num" id="LN3229">3229</td><td class="line"> GtkBin *bin = (GtkBin *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3230"><td class="num" id="LN3230">3230</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3231"><td class="num" id="LN3231">3231</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3232"><td class="num" id="LN3232">3232</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3233"><td class="num" id="LN3233">3233</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3234"><td class="num" id="LN3234">3234</td><td class="line"> GtkAllocation challoc;</td></tr>
+<tr class="codeline" data-linenumber="3235"><td class="num" id="LN3235">3235</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="3236"><td class="num" id="LN3236">3236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3237"><td class="num" id="LN3237">3237</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="3238"><td class="num" id="LN3238">3238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3239"><td class="num" id="LN3239">3239</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3240"><td class="num" id="LN3240">3240</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3241"><td class="num" id="LN3241">3241</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3242"><td class="num" id="LN3242">3242</td><td class="line"> challoc = *allocation;</td></tr>
+<tr class="codeline" data-linenumber="3243"><td class="num" id="LN3243">3243</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3244"><td class="num" id="LN3244">3244</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3245"><td class="num" id="LN3245">3245</td><td class="line"> challoc.x = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3246"><td class="num" id="LN3246">3246</td><td class="line"> challoc.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3247"><td class="num" id="LN3247">3247</td><td class="line"> challoc.width = allocation-&gt;width - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3248"><td class="num" id="LN3248">3248</td><td class="line"> challoc.height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="3249"><td class="num" id="LN3249">3249</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3250"><td class="num" id="LN3250">3250</td><td class="line"> challoc.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3251"><td class="num" id="LN3251">3251</td><td class="line"> challoc.y = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3252"><td class="num" id="LN3252">3252</td><td class="line"> challoc.width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="3253"><td class="num" id="LN3253">3253</td><td class="line"> challoc.height = allocation-&gt;height - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3254"><td class="num" id="LN3254">3254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3255"><td class="num" id="LN3255">3255</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3256"><td class="num" id="LN3256">3256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3257"><td class="num" id="LN3257">3257</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3258"><td class="num" id="LN3258">3258</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3259"><td class="num" id="LN3259">3259</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3260"><td class="num" id="LN3260">3260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3261"><td class="num" id="LN3261">3261</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3262"><td class="num" id="LN3262">3262</td><td class="line"> challoc.y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3263"><td class="num" id="LN3263">3263</td><td class="line"> challoc.height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3264"><td class="num" id="LN3264">3264</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3265"><td class="num" id="LN3265">3265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3266"><td class="num" id="LN3266">3266</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3267"><td class="num" id="LN3267">3267</td><td class="line"> challoc.x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3268"><td class="num" id="LN3268">3268</td><td class="line"> challoc.width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3269"><td class="num" id="LN3269">3269</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3270"><td class="num" id="LN3270">3270</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3271"><td class="num" id="LN3271">3271</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3272"><td class="num" id="LN3272">3272</td><td class="line"> challoc.height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3273"><td class="num" id="LN3273">3273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3274"><td class="num" id="LN3274">3274</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3275"><td class="num" id="LN3275">3275</td><td class="line"> challoc.width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3276"><td class="num" id="LN3276">3276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3277"><td class="num" id="LN3277">3277</td><td class="line"> challoc.width = <span class='macro'>MAX (1, challoc.width)<span class='macro_popup'>(((1) &gt; (challoc.width)) ? (1) : (challoc.width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3278"><td class="num" id="LN3278">3278</td><td class="line"> challoc.height = <span class='macro'>MAX (1, challoc.height)<span class='macro_popup'>(((1) &gt; (challoc.height)) ? (1) : (challoc.height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3279"><td class="num" id="LN3279">3279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3280"><td class="num" id="LN3280">3280</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3281"><td class="num" id="LN3281">3281</td><td class="line"> gtk_widget_get_allocation (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="3282"><td class="num" id="LN3282">3282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3283"><td class="num" id="LN3283">3283</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_mapped (widget) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3284"><td class="num" id="LN3284">3284</td><td class="line"> (challoc.x != child_allocation.x ||</td></tr>
+<tr class="codeline" data-linenumber="3285"><td class="num" id="LN3285">3285</td><td class="line"> challoc.y != child_allocation.y ||</td></tr>
+<tr class="codeline" data-linenumber="3286"><td class="num" id="LN3286">3286</td><td class="line"> challoc.width != child_allocation.width ||</td></tr>
+<tr class="codeline" data-linenumber="3287"><td class="num" id="LN3287">3287</td><td class="line"> challoc.height != child_allocation.height)) {</td></tr>
+<tr class="codeline" data-linenumber="3288"><td class="num" id="LN3288">3288</td><td class="line"> GtkAllocation allocation_to_invalidate;</td></tr>
+<tr class="codeline" data-linenumber="3289"><td class="num" id="LN3289">3289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3290"><td class="num" id="LN3290">3290</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation_to_invalidate);</td></tr>
+<tr class="codeline" data-linenumber="3291"><td class="num" id="LN3291">3291</td><td class="line"> gdk_window_invalidate_rect (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="3292"><td class="num" id="LN3292">3292</td><td class="line"> &amp;allocation_to_invalidate, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3293"><td class="num" id="LN3293">3293</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3294"><td class="num" id="LN3294">3294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3295"><td class="num" id="LN3295">3295</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3296"><td class="num" id="LN3296">3296</td><td class="line"> gtk_widget_size_allocate (child, &amp;challoc);</td></tr>
+<tr class="codeline" data-linenumber="3297"><td class="num" id="LN3297">3297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3298"><td class="num" id="LN3298">3298</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3299"><td class="num" id="LN3299">3299</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3300"><td class="num" id="LN3300">3300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3301"><td class="num" id="LN3301">3301</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="3302"><td class="num" id="LN3302">3302</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3303"><td class="num" id="LN3303">3303</td><td class="line"> PanelToplevel* toplevel = (PanelToplevel*) widget;</td></tr>
+<tr class="codeline" data-linenumber="3304"><td class="num" id="LN3304">3304</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="3305"><td class="num" id="LN3305">3305</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3306"><td class="num" id="LN3306">3306</td><td class="line"> <span class='keyword'>int</span> awidth;</td></tr>
+<tr class="codeline" data-linenumber="3307"><td class="num" id="LN3307">3307</td><td class="line"> <span class='keyword'>int</span> aheight;</td></tr>
+<tr class="codeline" data-linenumber="3308"><td class="num" id="LN3308">3308</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3309"><td class="num" id="LN3309">3309</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3310"><td class="num" id="LN3310">3310</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3311"><td class="num" id="LN3311">3311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3312"><td class="num" id="LN3312">3312</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_drawable (widget))</td></tr>
+<tr class="codeline" data-linenumber="3313"><td class="num" id="LN3313">3313</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3314"><td class="num" id="LN3314">3314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3315"><td class="num" id="LN3315">3315</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw)</td></tr>
+<tr class="codeline" data-linenumber="3316"><td class="num" id="LN3316">3316</td><td class="line"> retval = <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw (widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="3317"><td class="num" id="LN3317">3317</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3318"><td class="num" id="LN3318">3318</td><td class="line"> edges = toplevel-&gt;priv-&gt;edges;</td></tr>
+<tr class="codeline" data-linenumber="3319"><td class="num" id="LN3319">3319</td><td class="line"> panel_frame_draw (widget, cr, edges);</td></tr>
+<tr class="codeline" data-linenumber="3320"><td class="num" id="LN3320">3320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3321"><td class="num" id="LN3321">3321</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3322"><td class="num" id="LN3322">3322</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3323"><td class="num" id="LN3323">3323</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3324"><td class="num" id="LN3324">3324</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3325"><td class="num" id="LN3325">3325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3326"><td class="num" id="LN3326">3326</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3327"><td class="num" id="LN3327">3327</td><td class="line"> awidth = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="3328"><td class="num" id="LN3328">3328</td><td class="line"> aheight = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="3329"><td class="num" id="LN3329">3329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3330"><td class="num" id="LN3330">3330</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3331"><td class="num" id="LN3331">3331</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3332"><td class="num" id="LN3332">3332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3333"><td class="num" id="LN3333">3333</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="3334"><td class="num" id="LN3334">3334</td><td class="line"> gtk_style_context_set_state (context, state);</td></tr>
+<tr class="codeline" data-linenumber="3335"><td class="num" id="LN3335">3335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3336"><td class="num" id="LN3336">3336</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3337"><td class="num" id="LN3337">3337</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3338"><td class="num" id="LN3338">3338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3339"><td class="num" id="LN3339">3339</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3340"><td class="num" id="LN3340">3340</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3341"><td class="num" id="LN3341">3341</td><td class="line"> height = aheight;</td></tr>
+<tr class="codeline" data-linenumber="3342"><td class="num" id="LN3342">3342</td><td class="line"> width = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3343"><td class="num" id="LN3343">3343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3344"><td class="num" id="LN3344">3344</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3345"><td class="num" id="LN3345">3345</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3346"><td class="num" id="LN3346">3346</td><td class="line"> height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3347"><td class="num" id="LN3347">3347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3348"><td class="num" id="LN3348">3348</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3349"><td class="num" id="LN3349">3349</td><td class="line"> height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3350"><td class="num" id="LN3350">3350</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="3351"><td class="num" id="LN3351">3351</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3352"><td class="num" id="LN3352">3352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3353"><td class="num" id="LN3353">3353</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3354"><td class="num" id="LN3354">3354</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3355"><td class="num" id="LN3355">3355</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3356"><td class="num" id="LN3356">3356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3357"><td class="num" id="LN3357">3357</td><td class="line"> x = awidth - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3358"><td class="num" id="LN3358">3358</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3359"><td class="num" id="LN3359">3359</td><td class="line"> x -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3360"><td class="num" id="LN3360">3360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3361"><td class="num" id="LN3361">3361</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3362"><td class="num" id="LN3362">3362</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3363"><td class="num" id="LN3363">3363</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3364"><td class="num" id="LN3364">3364</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3365"><td class="num" id="LN3365">3365</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3366"><td class="num" id="LN3366">3366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3367"><td class="num" id="LN3367">3367</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3368"><td class="num" id="LN3368">3368</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3369"><td class="num" id="LN3369">3369</td><td class="line"> width = awidth;</td></tr>
+<tr class="codeline" data-linenumber="3370"><td class="num" id="LN3370">3370</td><td class="line"> height = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3371"><td class="num" id="LN3371">3371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3372"><td class="num" id="LN3372">3372</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3373"><td class="num" id="LN3373">3373</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3374"><td class="num" id="LN3374">3374</td><td class="line"> width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3375"><td class="num" id="LN3375">3375</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3376"><td class="num" id="LN3376">3376</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3377"><td class="num" id="LN3377">3377</td><td class="line"> width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3378"><td class="num" id="LN3378">3378</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="3379"><td class="num" id="LN3379">3379</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3380"><td class="num" id="LN3380">3380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3381"><td class="num" id="LN3381">3381</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3382"><td class="num" id="LN3382">3382</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3383"><td class="num" id="LN3383">3383</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3384"><td class="num" id="LN3384">3384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3385"><td class="num" id="LN3385">3385</td><td class="line"> y = aheight - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3386"><td class="num" id="LN3386">3386</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3387"><td class="num" id="LN3387">3387</td><td class="line"> y -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3388"><td class="num" id="LN3388">3388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3389"><td class="num" id="LN3389">3389</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3390"><td class="num" id="LN3390">3390</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3391"><td class="num" id="LN3391">3391</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3392"><td class="num" id="LN3392">3392</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3393"><td class="num" id="LN3393">3393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3394"><td class="num" id="LN3394">3394</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="3395"><td class="num" id="LN3395">3395</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3396"><td class="num" id="LN3396">3396</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3397"><td class="num" id="LN3397">3397</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3398"><td class="num" id="LN3398">3398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3399"><td class="num" id="LN3399">3399</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3400"><td class="num" id="LN3400">3400</td><td class="line">panel_toplevel_button_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3401"><td class="num" id="LN3401">3401</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3402"><td class="num" id="LN3402">3402</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3403"><td class="num" id="LN3403">3403</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3404"><td class="num" id="LN3404">3404</td><td class="line"> GtkWidget *event_widget;</td></tr>
+<tr class="codeline" data-linenumber="3405"><td class="num" id="LN3405">3405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3406"><td class="num" id="LN3406">3406</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3407"><td class="num" id="LN3407">3407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3408"><td class="num" id="LN3408">3408</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3409"><td class="num" id="LN3409">3409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3410"><td class="num" id="LN3410">3410</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3411"><td class="num" id="LN3411">3411</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3412"><td class="num" id="LN3412">3412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3413"><td class="num" id="LN3413">3413</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3414"><td class="num" id="LN3414">3414</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3415"><td class="num" id="LN3415">3415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3416"><td class="num" id="LN3416">3416</td><td class="line"> <span class='comment'>/* Get the mouse-button modifier from marco so that only intentional</span></td></tr>
+<tr class="codeline" data-linenumber="3417"><td class="num" id="LN3417">3417</td><td class="line"> <span class='comment'>* moves are considered. We don't this for non-expanded panels since we</span></td></tr>
+<tr class="codeline" data-linenumber="3418"><td class="num" id="LN3418">3418</td><td class="line"> <span class='comment'>* only have the handles that the user can grab. */</span></td></tr>
+<tr class="codeline" data-linenumber="3419"><td class="num" id="LN3419">3419</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;expand || toplevel-&gt;priv-&gt;attached) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3420"><td class="num" id="LN3420">3420</td><td class="line"> (event-&gt;state &amp; GDK_MODIFIER_MASK) != panel_bindings_get_mouse_button_modifier_keymask ())</td></tr>
+<tr class="codeline" data-linenumber="3421"><td class="num" id="LN3421">3421</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3422"><td class="num" id="LN3422">3422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3423"><td class="num" id="LN3423">3423</td><td class="line"> gdk_window_get_user_data (event-&gt;window, (gpointer)&amp;event_widget);</td></tr>
+<tr class="codeline" data-linenumber="3424"><td class="num" id="LN3424">3424</td><td class="line"> <span class='macro'>g_assert (GTK_IS_WIDGET (event_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((event_widget)); GType __t = ((gtk_widget_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 3424<br>, ((const char*) (__func__)), "GTK_IS_WIDGET (event_widget)")<br>; } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3425"><td class="num" id="LN3425">3425</td><td class="line"> gtk_widget_translate_coordinates (event_widget,</td></tr>
+<tr class="codeline" data-linenumber="3426"><td class="num" id="LN3426">3426</td><td class="line"> widget,</td></tr>
+<tr class="codeline" data-linenumber="3427"><td class="num" id="LN3427">3427</td><td class="line"> event-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="3428"><td class="num" id="LN3428">3428</td><td class="line"> event-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="3429"><td class="num" id="LN3429">3429</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="3430"><td class="num" id="LN3430">3430</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_y);</td></tr>
+<tr class="codeline" data-linenumber="3431"><td class="num" id="LN3431">3431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3432"><td class="num" id="LN3432">3432</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3433"><td class="num" id="LN3433">3433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3434"><td class="num" id="LN3434">3434</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3435"><td class="num" id="LN3435">3435</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3436"><td class="num" id="LN3436">3436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3437"><td class="num" id="LN3437">3437</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3438"><td class="num" id="LN3438">3438</td><td class="line">panel_toplevel_button_release_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3439"><td class="num" id="LN3439">3439</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3440"><td class="num" id="LN3440">3440</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3441"><td class="num" id="LN3441">3441</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3442"><td class="num" id="LN3442">3442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3443"><td class="num" id="LN3443">3443</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3444"><td class="num" id="LN3444">3444</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3445"><td class="num" id="LN3445">3445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3446"><td class="num" id="LN3446">3446</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3447"><td class="num" id="LN3447">3447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3448"><td class="num" id="LN3448">3448</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="3449"><td class="num" id="LN3449">3449</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3450"><td class="num" id="LN3450">3450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3451"><td class="num" id="LN3451">3451</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="3452"><td class="num" id="LN3452">3452</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3453"><td class="num" id="LN3453">3453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3454"><td class="num" id="LN3454">3454</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3455"><td class="num" id="LN3455">3455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3456"><td class="num" id="LN3456">3456</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3457"><td class="num" id="LN3457">3457</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3458"><td class="num" id="LN3458">3458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3459"><td class="num" id="LN3459">3459</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3460"><td class="num" id="LN3460">3460</td><td class="line">panel_toplevel_configure_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3461"><td class="num" id="LN3461">3461</td><td class="line"> GdkEventConfigure *event)</td></tr>
+<tr class="codeline" data-linenumber="3462"><td class="num" id="LN3462">3462</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3463"><td class="num" id="LN3463">3463</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3464"><td class="num" id="LN3464">3464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3465"><td class="num" id="LN3465">3465</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3466"><td class="num" id="LN3466">3466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3467"><td class="num" id="LN3467">3467</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3468"><td class="num" id="LN3468">3468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3469"><td class="num" id="LN3469">3469</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3470"><td class="num" id="LN3470">3470</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3471"><td class="num" id="LN3471">3471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3472"><td class="num" id="LN3472">3472</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3473"><td class="num" id="LN3473">3473</td><td class="line">panel_toplevel_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3474"><td class="num" id="LN3474">3474</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="3475"><td class="num" id="LN3475">3475</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3476"><td class="num" id="LN3476">3476</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3477"><td class="num" id="LN3477">3477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3478"><td class="num" id="LN3478">3478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3479"><td class="num" id="LN3479">3479</td><td class="line"> panel_toplevel_handle_grab_op_key_event (toplevel, event))</td></tr>
+<tr class="codeline" data-linenumber="3480"><td class="num" id="LN3480">3480</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3481"><td class="num" id="LN3481">3481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3482"><td class="num" id="LN3482">3482</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event)</td></tr>
+<tr class="codeline" data-linenumber="3483"><td class="num" id="LN3483">3483</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3484"><td class="num" id="LN3484">3484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3485"><td class="num" id="LN3485">3485</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3486"><td class="num" id="LN3486">3486</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3487"><td class="num" id="LN3487">3487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3488"><td class="num" id="LN3488">3488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3489"><td class="num" id="LN3489">3489</td><td class="line">panel_toplevel_state_flags_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3490"><td class="num" id="LN3490">3490</td><td class="line"> GtkStateFlags previous_state)</td></tr>
+<tr class="codeline" data-linenumber="3491"><td class="num" id="LN3491">3491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3492"><td class="num" id="LN3492">3492</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;state_flags_changed (widget,</td></tr>
+<tr class="codeline" data-linenumber="3493"><td class="num" id="LN3493">3493</td><td class="line"> previous_state);</td></tr>
+<tr class="codeline" data-linenumber="3494"><td class="num" id="LN3494">3494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3495"><td class="num" id="LN3495">3495</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3496"><td class="num" id="LN3496">3496</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3497"><td class="num" id="LN3497">3497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3498"><td class="num" id="LN3498">3498</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3499"><td class="num" id="LN3499">3499</td><td class="line">panel_toplevel_motion_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3500"><td class="num" id="LN3500">3500</td><td class="line"> GdkEventMotion *event)</td></tr>
+<tr class="codeline" data-linenumber="3501"><td class="num" id="LN3501">3501</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3502"><td class="num" id="LN3502">3502</td><td class="line"> <span class='keyword'>if</span> (gdk_event_get_screen ((GdkEvent *)event) ==</td></tr>
+<tr class="codeline" data-linenumber="3503"><td class="num" id="LN3503">3503</td><td class="line"> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3504"><td class="num" id="LN3504">3504</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_handle_grab_op_motion_event (</td></tr>
+<tr class="codeline" data-linenumber="3505"><td class="num" id="LN3505">3505</td><td class="line"> <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>, event);</td></tr>
+<tr class="codeline" data-linenumber="3506"><td class="num" id="LN3506">3506</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3507"><td class="num" id="LN3507">3507</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3508"><td class="num" id="LN3508">3508</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3509"><td class="num" id="LN3509">3509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3510"><td class="num" id="LN3510">3510</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3511"><td class="num" id="LN3511">3511</td><td class="line">panel_toplevel_animation_timeout (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3512"><td class="num" id="LN3512">3512</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3513"><td class="num" id="LN3513">3513</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3514"><td class="num" id="LN3514">3514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3515"><td class="num" id="LN3515">3515</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="3516"><td class="num" id="LN3516">3516</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3517"><td class="num" id="LN3517">3517</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3518"><td class="num" id="LN3518">3518</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3519"><td class="num" id="LN3519">3519</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3520"><td class="num" id="LN3520">3520</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3521"><td class="num" id="LN3521">3521</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3522"><td class="num" id="LN3522">3522</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3523"><td class="num" id="LN3523">3523</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3524"><td class="num" id="LN3524">3524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3525"><td class="num" id="LN3525">3525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3526"><td class="num" id="LN3526">3526</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animating;</td></tr>
+<tr class="codeline" data-linenumber="3527"><td class="num" id="LN3527">3527</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3528"><td class="num" id="LN3528">3528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3529"><td class="num" id="LN3529">3529</td><td class="line"><span class='keyword'>static</span> GTimeSpan</td></tr>
+<tr class="codeline" data-linenumber="3530"><td class="num" id="LN3530">3530</td><td class="line">panel_toplevel_get_animation_time (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3531"><td class="num" id="LN3531">3531</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3532"><td class="num" id="LN3532">3532</td><td class="line"> <span class='comment'>/* The number of seconds to complete the animation.</span></td></tr>
+<tr class="codeline" data-linenumber="3533"><td class="num" id="LN3533">3533</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3534"><td class="num" id="LN3534">3534</td><td class="line"><span class='directive'>#define ANIMATION_TIME_FAST 400</span></td></tr>
+<tr class="codeline" data-linenumber="3535"><td class="num" id="LN3535">3535</td><td class="line"><span class='directive'>#define ANIMATION_TIME_MEDIUM 1200</span></td></tr>
+<tr class="codeline" data-linenumber="3536"><td class="num" id="LN3536">3536</td><td class="line"><span class='directive'>#define ANIMATION_TIME_SLOW 2000</span></td></tr>
+<tr class="codeline" data-linenumber="3537"><td class="num" id="LN3537">3537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3538"><td class="num" id="LN3538">3538</td><td class="line"> GTimeSpan t;</td></tr>
+<tr class="codeline" data-linenumber="3539"><td class="num" id="LN3539">3539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3540"><td class="num" id="LN3540">3540</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;animation_speed) {</td></tr>
+<tr class="codeline" data-linenumber="3541"><td class="num" id="LN3541">3541</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_SLOW:</td></tr>
+<tr class="codeline" data-linenumber="3542"><td class="num" id="LN3542">3542</td><td class="line"> t = ANIMATION_TIME_SLOW * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3543"><td class="num" id="LN3543">3543</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3544"><td class="num" id="LN3544">3544</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_MEDIUM:</td></tr>
+<tr class="codeline" data-linenumber="3545"><td class="num" id="LN3545">3545</td><td class="line"> t = ANIMATION_TIME_MEDIUM * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3546"><td class="num" id="LN3546">3546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3547"><td class="num" id="LN3547">3547</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_FAST:</td></tr>
+<tr class="codeline" data-linenumber="3548"><td class="num" id="LN3548">3548</td><td class="line"> t = ANIMATION_TIME_FAST * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3549"><td class="num" id="LN3549">3549</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3550"><td class="num" id="LN3550">3550</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3551"><td class="num" id="LN3551">3551</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3551, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3552"><td class="num" id="LN3552">3552</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3553"><td class="num" id="LN3553">3553</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3554"><td class="num" id="LN3554">3554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3555"><td class="num" id="LN3555">3555</td><td class="line"> <span class='keyword'>return</span> t;</td></tr>
+<tr class="codeline" data-linenumber="3556"><td class="num" id="LN3556">3556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3557"><td class="num" id="LN3557">3557</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_FAST</span></td></tr>
+<tr class="codeline" data-linenumber="3558"><td class="num" id="LN3558">3558</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_MEDIUM</span></td></tr>
+<tr class="codeline" data-linenumber="3559"><td class="num" id="LN3559">3559</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_SLOW</span></td></tr>
+<tr class="codeline" data-linenumber="3560"><td class="num" id="LN3560">3560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3561"><td class="num" id="LN3561">3561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3562"><td class="num" id="LN3562">3562</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3563"><td class="num" id="LN3563">3563</td><td class="line">panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3564"><td class="num" id="LN3564">3564</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3565"><td class="num" id="LN3565">3565</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="3566"><td class="num" id="LN3566">3566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3567"><td class="num" id="LN3567">3567</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="3568"><td class="num" id="LN3568">3568</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="3569"><td class="num" id="LN3569">3569</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3570"><td class="num" id="LN3570">3570</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3571"><td class="num" id="LN3571">3571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3572"><td class="num" id="LN3572">3572</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="3573"><td class="num" id="LN3573">3573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3574"><td class="num" id="LN3574">3574</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="3575"><td class="num" id="LN3575">3575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3576"><td class="num" id="LN3576">3576</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="3577"><td class="num" id="LN3577">3577</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x =</td></tr>
+<tr class="codeline" data-linenumber="3578"><td class="num" id="LN3578">3578</td><td class="line"> (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3579"><td class="num" id="LN3579">3579</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="3580"><td class="num" id="LN3580">3580</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y =</td></tr>
+<tr class="codeline" data-linenumber="3581"><td class="num" id="LN3581">3581</td><td class="line"> (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3582"><td class="num" id="LN3582">3582</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3583"><td class="num" id="LN3583">3583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3584"><td class="num" id="LN3584">3584</td><td class="line"> <span class='comment'>/* we consider the toplevels which are in the initial animation stage</span></td></tr>
+<tr class="codeline" data-linenumber="3585"><td class="num" id="LN3585">3585</td><td class="line"> <span class='comment'>* as in a normal state */</span></td></tr>
+<tr class="codeline" data-linenumber="3586"><td class="num" id="LN3586">3586</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="3587"><td class="num" id="LN3587">3587</td><td class="line"> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3588"><td class="num" id="LN3588">3588</td><td class="line"> !toplevel-&gt;priv-&gt;auto_hide))</td></tr>
+<tr class="codeline" data-linenumber="3589"><td class="num" id="LN3589">3589</td><td class="line"> panel_toplevel_update_normal_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3590"><td class="num" id="LN3590">3590</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3591"><td class="num" id="LN3591">3591</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3592"><td class="num" id="LN3592">3592</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3593"><td class="num" id="LN3593">3593</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3594"><td class="num" id="LN3594">3594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3595"><td class="num" id="LN3595">3595</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3596"><td class="num" id="LN3596">3596</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3597"><td class="num" id="LN3597">3597</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3598"><td class="num" id="LN3598">3598</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3599"><td class="num" id="LN3599">3599</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3600"><td class="num" id="LN3600">3600</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="3601"><td class="num" id="LN3601">3601</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3602"><td class="num" id="LN3602">3602</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3603"><td class="num" id="LN3603">3603</td><td class="line"> panel_toplevel_update_hidden_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3604"><td class="num" id="LN3604">3604</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3605"><td class="num" id="LN3605">3605</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3606"><td class="num" id="LN3606">3606</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3607"><td class="num" id="LN3607">3607</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3608"><td class="num" id="LN3608">3608</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3609"><td class="num" id="LN3609">3609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3610"><td class="num" id="LN3610">3610</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3611"><td class="num" id="LN3611">3611</td><td class="line">panel_toplevel_start_animation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3612"><td class="num" id="LN3612">3612</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3613"><td class="num" id="LN3613">3613</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3614"><td class="num" id="LN3614">3614</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="3615"><td class="num" id="LN3615">3615</td><td class="line"> <span class='keyword'>int</span> cur_x = -1, cur_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3616"><td class="num" id="LN3616">3616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3617"><td class="num" id="LN3617">3617</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3618"><td class="num" id="LN3618">3618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3619"><td class="num" id="LN3619">3619</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3620"><td class="num" id="LN3620">3620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3621"><td class="num" id="LN3621">3621</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3622"><td class="num" id="LN3622">3622</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3623"><td class="num" id="LN3623">3623</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3624"><td class="num" id="LN3624">3624</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3625"><td class="num" id="LN3625">3625</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3626"><td class="num" id="LN3626">3626</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3627"><td class="num" id="LN3627">3627</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3628"><td class="num" id="LN3628">3628</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3629"><td class="num" id="LN3629">3629</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3630"><td class="num" id="LN3630">3630</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3631"><td class="num" id="LN3631">3631</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3632"><td class="num" id="LN3632">3632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3633"><td class="num" id="LN3633">3633</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>), &amp;cur_x, &amp;cur_y);</td></tr>
+<tr class="codeline" data-linenumber="3634"><td class="num" id="LN3634">3634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3635"><td class="num" id="LN3635">3635</td><td class="line"> cur_x -= panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3636"><td class="num" id="LN3636">3636</td><td class="line"> cur_y -= panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3637"><td class="num" id="LN3637">3637</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3638"><td class="num" id="LN3638">3638</td><td class="line"> deltax = toplevel-&gt;priv-&gt;animation_end_x - cur_x;</td></tr>
+<tr class="codeline" data-linenumber="3639"><td class="num" id="LN3639">3639</td><td class="line"> deltay = toplevel-&gt;priv-&gt;animation_end_y - cur_y;</td></tr>
+<tr class="codeline" data-linenumber="3640"><td class="num" id="LN3640">3640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3641"><td class="num" id="LN3641">3641</td><td class="line"> gtk_widget_get_preferred_size (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3642"><td class="num" id="LN3642">3642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3643"><td class="num" id="LN3643">3643</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="3644"><td class="num" id="LN3644">3644</td><td class="line"> deltaw = toplevel-&gt;priv-&gt;animation_end_width - requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3645"><td class="num" id="LN3645">3645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3646"><td class="num" id="LN3646">3646</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="3647"><td class="num" id="LN3647">3647</td><td class="line"> deltah = toplevel-&gt;priv-&gt;animation_end_height - requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3648"><td class="num" id="LN3648">3648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3649"><td class="num" id="LN3649">3649</td><td class="line"> <span class='keyword'>if</span> (deltax == 0 &amp;&amp; deltay == 0 &amp;&amp; deltaw == 0 &amp;&amp; deltah == 0) {</td></tr>
+<tr class="codeline" data-linenumber="3650"><td class="num" id="LN3650">3650</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3651"><td class="num" id="LN3651">3651</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3652"><td class="num" id="LN3652">3652</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3653"><td class="num" id="LN3653">3653</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3654"><td class="num" id="LN3654">3654</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3655"><td class="num" id="LN3655">3655</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3656"><td class="num" id="LN3656">3656</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3657"><td class="num" id="LN3657">3657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3658"><td class="num" id="LN3658">3658</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3659"><td class="num" id="LN3659">3659</td><td class="line"> <span class='comment'>/* Re-map unmapped attached toplevels */</span></td></tr>
+<tr class="codeline" data-linenumber="3660"><td class="num" id="LN3660">3660</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3661"><td class="num" id="LN3661">3661</td><td class="line"> gtk_widget_set_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3662"><td class="num" id="LN3662">3662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3663"><td class="num" id="LN3663">3663</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_mapped (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3664"><td class="num" id="LN3664">3664</td><td class="line"> gtk_widget_map (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3665"><td class="num" id="LN3665">3665</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3666"><td class="num" id="LN3666">3666</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_window_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3667"><td class="num" id="LN3667">3667</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3668"><td class="num" id="LN3668">3668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3669"><td class="num" id="LN3669">3669</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = g_get_monotonic_time ();</td></tr>
+<tr class="codeline" data-linenumber="3670"><td class="num" id="LN3670">3670</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = panel_toplevel_get_animation_time (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3671"><td class="num" id="LN3671">3671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3672"><td class="num" id="LN3672">3672</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3673"><td class="num" id="LN3673">3673</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3674"><td class="num" id="LN3674">3674</td><td class="line"> g_timeout_add (20, (GSourceFunc) panel_toplevel_animation_timeout, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3675"><td class="num" id="LN3675">3675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3676"><td class="num" id="LN3676">3676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3677"><td class="num" id="LN3677">3677</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3678"><td class="num" id="LN3678">3678</td><td class="line">panel_toplevel_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3679"><td class="num" id="LN3679">3679</td><td class="line"> gboolean auto_hide,</td></tr>
+<tr class="codeline" data-linenumber="3680"><td class="num" id="LN3680">3680</td><td class="line"> gint direction)</td></tr>
+<tr class="codeline" data-linenumber="3681"><td class="num" id="LN3681">3681</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3682"><td class="num" id="LN3682">3682</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3683"><td class="num" id="LN3683">3683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3684"><td class="num" id="LN3684">3684</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3685"><td class="num" id="LN3685">3685</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3686"><td class="num" id="LN3686">3686</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3687"><td class="num" id="LN3687">3687</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [HIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3688"><td class="num" id="LN3688">3688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3689"><td class="num" id="LN3689">3689</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3690"><td class="num" id="LN3690">3690</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3691"><td class="num" id="LN3691">3691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3692"><td class="num" id="LN3692">3692</td><td class="line"> <span class='keyword'>if</span> (auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3693"><td class="num" id="LN3693">3693</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="3694"><td class="num" id="LN3694">3694</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3695"><td class="num" id="LN3695">3695</td><td class="line"> GtkDirectionType hide_direction;</td></tr>
+<tr class="codeline" data-linenumber="3696"><td class="num" id="LN3696">3696</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3697"><td class="num" id="LN3697">3697</td><td class="line"> <span class='keyword'>if</span> (direction == -1) {</td></tr>
+<tr class="codeline" data-linenumber="3698"><td class="num" id="LN3698">3698</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3699"><td class="num" id="LN3699">3699</td><td class="line"> hide_direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="3700"><td class="num" id="LN3700">3700</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3701"><td class="num" id="LN3701">3701</td><td class="line"> hide_direction = GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3702"><td class="num" id="LN3702">3702</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3703"><td class="num" id="LN3703">3703</td><td class="line"> hide_direction = (GtkDirectionType) direction;</td></tr>
+<tr class="codeline" data-linenumber="3704"><td class="num" id="LN3704">3704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3705"><td class="num" id="LN3705">3705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3706"><td class="num" id="LN3706">3706</td><td class="line"> <span class='keyword'>switch</span> (hide_direction) {</td></tr>
+<tr class="codeline" data-linenumber="3707"><td class="num" id="LN3707">3707</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_UP:</td></tr>
+<tr class="codeline" data-linenumber="3708"><td class="num" id="LN3708">3708</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3709"><td class="num" id="LN3709">3709</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="3710"><td class="num" id="LN3710">3710</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3711"><td class="num" id="LN3711">3711</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="3712"><td class="num" id="LN3712">3712</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3713"><td class="num" id="LN3713">3713</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="3714"><td class="num" id="LN3714">3714</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3715"><td class="num" id="LN3715">3715</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="3716"><td class="num" id="LN3716">3716</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3717"><td class="num" id="LN3717">3717</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3718"><td class="num" id="LN3718">3718</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3719"><td class="num" id="LN3719">3719</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="3720"><td class="num" id="LN3720">3720</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3721"><td class="num" id="LN3721">3721</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="3722"><td class="num" id="LN3722">3722</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3723"><td class="num" id="LN3723">3723</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3724"><td class="num" id="LN3724">3724</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3724, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3725"><td class="num" id="LN3725">3725</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3726"><td class="num" id="LN3726">3726</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3727"><td class="num" id="LN3727">3727</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3728"><td class="num" id="LN3728">3728</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3729"><td class="num" id="LN3729">3729</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3730"><td class="num" id="LN3730">3730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3731"><td class="num" id="LN3731">3731</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3732"><td class="num" id="LN3732">3732</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3733"><td class="num" id="LN3733">3733</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3734"><td class="num" id="LN3734">3734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3735"><td class="num" id="LN3735">3735</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), hide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3736"><td class="num" id="LN3736">3736</td><td class="line"> <span class='comment'>* this hides the hide button properly as well */</span></td></tr>
+<tr class="codeline" data-linenumber="3737"><td class="num" id="LN3737">3737</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3738"><td class="num" id="LN3738">3738</td><td class="line"> gtk_widget_hide (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3739"><td class="num" id="LN3739">3739</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3740"><td class="num" id="LN3740">3740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3741"><td class="num" id="LN3741">3741</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3742"><td class="num" id="LN3742">3742</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3743"><td class="num" id="LN3743">3743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3744"><td class="num" id="LN3744">3744</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3745"><td class="num" id="LN3745">3745</td><td class="line">panel_toplevel_auto_hide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3746"><td class="num" id="LN3746">3746</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3747"><td class="num" id="LN3747">3747</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3748"><td class="num" id="LN3748">3748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3749"><td class="num" id="LN3749">3749</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_autohide_disabled (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="3750"><td class="num" id="LN3750">3750</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3751"><td class="num" id="LN3751">3751</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3752"><td class="num" id="LN3752">3752</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3753"><td class="num" id="LN3753">3753</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3754"><td class="num" id="LN3754">3754</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3755"><td class="num" id="LN3755">3755</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3756"><td class="num" id="LN3756">3756</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3757"><td class="num" id="LN3757">3757</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3758"><td class="num" id="LN3758">3758</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3759"><td class="num" id="LN3759">3759</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3760"><td class="num" id="LN3760">3760</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3761"><td class="num" id="LN3761">3761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3762"><td class="num" id="LN3762">3762</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3763"><td class="num" id="LN3763">3763</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3764"><td class="num" id="LN3764">3764</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3765"><td class="num" id="LN3765">3765</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3766"><td class="num" id="LN3766">3766</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3767"><td class="num" id="LN3767">3767</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3768"><td class="num" id="LN3768">3768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3769"><td class="num" id="LN3769">3769</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3770"><td class="num" id="LN3770">3770</td><td class="line">panel_toplevel_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3771"><td class="num" id="LN3771">3771</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3772"><td class="num" id="LN3772">3772</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3773"><td class="num" id="LN3773">3773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3774"><td class="num" id="LN3774">3774</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3775"><td class="num" id="LN3775">3775</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3776"><td class="num" id="LN3776">3776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3777"><td class="num" id="LN3777">3777</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="3778"><td class="num" id="LN3778">3778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3779"><td class="num" id="LN3779">3779</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3780"><td class="num" id="LN3780">3780</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3781"><td class="num" id="LN3781">3781</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3782"><td class="num" id="LN3782">3782</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3783"><td class="num" id="LN3783">3783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3784"><td class="num" id="LN3784">3784</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3785"><td class="num" id="LN3785">3785</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3786"><td class="num" id="LN3786">3786</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3787"><td class="num" id="LN3787">3787</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3788"><td class="num" id="LN3788">3788</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), unhide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3789"><td class="num" id="LN3789">3789</td><td class="line"> <span class='comment'>* (same as for hide) */</span></td></tr>
+<tr class="codeline" data-linenumber="3790"><td class="num" id="LN3790">3790</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3791"><td class="num" id="LN3791">3791</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3792"><td class="num" id="LN3792">3792</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3793"><td class="num" id="LN3793">3793</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3794"><td class="num" id="LN3794">3794</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3795"><td class="num" id="LN3795">3795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3796"><td class="num" id="LN3796">3796</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3797"><td class="num" id="LN3797">3797</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3798"><td class="num" id="LN3798">3798</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3799"><td class="num" id="LN3799">3799</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3800"><td class="num" id="LN3800">3800</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3801"><td class="num" id="LN3801">3801</td><td class="line">panel_toplevel_auto_unhide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3802"><td class="num" id="LN3802">3802</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3803"><td class="num" id="LN3803">3803</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3804"><td class="num" id="LN3804">3804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3805"><td class="num" id="LN3805">3805</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3806"><td class="num" id="LN3806">3806</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3807"><td class="num" id="LN3807">3807</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3808"><td class="num" id="LN3808">3808</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3809"><td class="num" id="LN3809">3809</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3810"><td class="num" id="LN3810">3810</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3811"><td class="num" id="LN3811">3811</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3812"><td class="num" id="LN3812">3812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3813"><td class="num" id="LN3813">3813</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3814"><td class="num" id="LN3814">3814</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3815"><td class="num" id="LN3815">3815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3816"><td class="num" id="LN3816">3816</td><td class="line"> <span class='comment'>/* initial animation for auto-hidden panels: we need to unhide and hide</span></td></tr>
+<tr class="codeline" data-linenumber="3817"><td class="num" id="LN3817">3817</td><td class="line"> <span class='comment'>* again to get at the right size */</span></td></tr>
+<tr class="codeline" data-linenumber="3818"><td class="num" id="LN3818">3818</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3819"><td class="num" id="LN3819">3819</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3820"><td class="num" id="LN3820">3820</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3821"><td class="num" id="LN3821">3821</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3822"><td class="num" id="LN3822">3822</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3823"><td class="num" id="LN3823">3823</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3824"><td class="num" id="LN3824">3824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3825"><td class="num" id="LN3825">3825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3826"><td class="num" id="LN3826">3826</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_contains_pointer (toplevel) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3827"><td class="num" id="LN3827">3827</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3828"><td class="num" id="LN3828">3828</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3829"><td class="num" id="LN3829">3829</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3830"><td class="num" id="LN3830">3830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3831"><td class="num" id="LN3831">3831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3832"><td class="num" id="LN3832">3832</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3833"><td class="num" id="LN3833">3833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3834"><td class="num" id="LN3834">3834</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3835"><td class="num" id="LN3835">3835</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3836"><td class="num" id="LN3836">3836</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3837"><td class="num" id="LN3837">3837</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3838"><td class="num" id="LN3838">3838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3839"><td class="num" id="LN3839">3839</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3840"><td class="num" id="LN3840">3840</td><td class="line">panel_toplevel_queue_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3841"><td class="num" id="LN3841">3841</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3842"><td class="num" id="LN3842">3842</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3843"><td class="num" id="LN3843">3843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3844"><td class="num" id="LN3844">3844</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;auto_hide ||</td></tr>
+<tr class="codeline" data-linenumber="3845"><td class="num" id="LN3845">3845</td><td class="line"> panel_toplevel_contains_pointer (toplevel) ||</td></tr>
+<tr class="codeline" data-linenumber="3846"><td class="num" id="LN3846">3846</td><td class="line"> panel_toplevel_get_autohide_disabled (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="3847"><td class="num" id="LN3847">3847</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3848"><td class="num" id="LN3848">3848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3849"><td class="num" id="LN3849">3849</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3850"><td class="num" id="LN3850">3850</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3851"><td class="num" id="LN3851">3851</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3852"><td class="num" id="LN3852">3852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3853"><td class="num" id="LN3853">3853</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout ||</td></tr>
+<tr class="codeline" data-linenumber="3854"><td class="num" id="LN3854">3854</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3855"><td class="num" id="LN3855">3855</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3856"><td class="num" id="LN3856">3856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3857"><td class="num" id="LN3857">3857</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3858"><td class="num" id="LN3858">3858</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3859"><td class="num" id="LN3859">3859</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;hide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3860"><td class="num" id="LN3860">3860</td><td class="line"> (GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3861"><td class="num" id="LN3861">3861</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3862"><td class="num" id="LN3862">3862</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3863"><td class="num" id="LN3863">3863</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3864"><td class="num" id="LN3864">3864</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3865"><td class="num" id="LN3865">3865</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3866"><td class="num" id="LN3866">3866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3867"><td class="num" id="LN3867">3867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3868"><td class="num" id="LN3868">3868</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3869"><td class="num" id="LN3869">3869</td><td class="line">panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3870"><td class="num" id="LN3870">3870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3871"><td class="num" id="LN3871">3871</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3872"><td class="num" id="LN3872">3872</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3873"><td class="num" id="LN3873">3873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3874"><td class="num" id="LN3874">3874</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3875"><td class="num" id="LN3875">3875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3876"><td class="num" id="LN3876">3876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3877"><td class="num" id="LN3877">3877</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3878"><td class="num" id="LN3878">3878</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3879"><td class="num" id="LN3879">3879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3880"><td class="num" id="LN3880">3880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3881"><td class="num" id="LN3881">3881</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3882"><td class="num" id="LN3882">3882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3883"><td class="num" id="LN3883">3883</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3884"><td class="num" id="LN3884">3884</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3885"><td class="num" id="LN3885">3885</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;unhide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3886"><td class="num" id="LN3886">3886</td><td class="line"> (GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3887"><td class="num" id="LN3887">3887</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3888"><td class="num" id="LN3888">3888</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3889"><td class="num" id="LN3889">3889</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3890"><td class="num" id="LN3890">3890</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3891"><td class="num" id="LN3891">3891</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3892"><td class="num" id="LN3892">3892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3893"><td class="num" id="LN3893">3893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3894"><td class="num" id="LN3894">3894</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3895"><td class="num" id="LN3895">3895</td><td class="line">panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3896"><td class="num" id="LN3896">3896</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3897"><td class="num" id="LN3897">3897</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3898"><td class="num" id="LN3898">3898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3899"><td class="num" id="LN3899">3899</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;initial_animation_done)</td></tr>
+<tr class="codeline" data-linenumber="3900"><td class="num" id="LN3900">3900</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3901"><td class="num" id="LN3901">3901</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3902"><td class="num" id="LN3902">3902</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3903"><td class="num" id="LN3903">3903</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3904"><td class="num" id="LN3904">3904</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3905"><td class="num" id="LN3905">3905</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3906"><td class="num" id="LN3906">3906</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3907"><td class="num" id="LN3907">3907</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3908"><td class="num" id="LN3908">3908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3909"><td class="num" id="LN3909">3909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3910"><td class="num" id="LN3910">3910</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3911"><td class="num" id="LN3911">3911</td><td class="line">panel_toplevel_enter_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3912"><td class="num" id="LN3912">3912</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3913"><td class="num" id="LN3913">3913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3914"><td class="num" id="LN3914">3914</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3915"><td class="num" id="LN3915">3915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3916"><td class="num" id="LN3916">3916</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3917"><td class="num" id="LN3917">3917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3918"><td class="num" id="LN3918">3918</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3919"><td class="num" id="LN3919">3919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3920"><td class="num" id="LN3920">3920</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3921"><td class="num" id="LN3921">3921</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3922"><td class="num" id="LN3922">3922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3923"><td class="num" id="LN3923">3923</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3924"><td class="num" id="LN3924">3924</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3925"><td class="num" id="LN3925">3925</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3926"><td class="num" id="LN3926">3926</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3927"><td class="num" id="LN3927">3927</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3928"><td class="num" id="LN3928">3928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3929"><td class="num" id="LN3929">3929</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3930"><td class="num" id="LN3930">3930</td><td class="line">panel_toplevel_leave_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3931"><td class="num" id="LN3931">3931</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3932"><td class="num" id="LN3932">3932</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3933"><td class="num" id="LN3933">3933</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3934"><td class="num" id="LN3934">3934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3935"><td class="num" id="LN3935">3935</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3936"><td class="num" id="LN3936">3936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3937"><td class="num" id="LN3937">3937</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3938"><td class="num" id="LN3938">3938</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3939"><td class="num" id="LN3939">3939</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3940"><td class="num" id="LN3940">3940</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3941"><td class="num" id="LN3941">3941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3942"><td class="num" id="LN3942">3942</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3943"><td class="num" id="LN3943">3943</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3944"><td class="num" id="LN3944">3944</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3945"><td class="num" id="LN3945">3945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3946"><td class="num" id="LN3946">3946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3947"><td class="num" id="LN3947">3947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3948"><td class="num" id="LN3948">3948</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3949"><td class="num" id="LN3949">3949</td><td class="line">panel_toplevel_focus_in_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3950"><td class="num" id="LN3950">3950</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3951"><td class="num" id="LN3951">3951</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3952"><td class="num" id="LN3952">3952</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3953"><td class="num" id="LN3953">3953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3954"><td class="num" id="LN3954">3954</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3955"><td class="num" id="LN3955">3955</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3956"><td class="num" id="LN3956">3956</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3957"><td class="num" id="LN3957">3957</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event)</td></tr>
+<tr class="codeline" data-linenumber="3958"><td class="num" id="LN3958">3958</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3959"><td class="num" id="LN3959">3959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3960"><td class="num" id="LN3960">3960</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3961"><td class="num" id="LN3961">3961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3962"><td class="num" id="LN3962">3962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3963"><td class="num" id="LN3963">3963</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3964"><td class="num" id="LN3964">3964</td><td class="line">panel_toplevel_focus_out_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3965"><td class="num" id="LN3965">3965</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3966"><td class="num" id="LN3966">3966</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3967"><td class="num" id="LN3967">3967</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3968"><td class="num" id="LN3968">3968</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3969"><td class="num" id="LN3969">3969</td><td class="line"> <span class='comment'>/* It appears that sometimes we don't get a leave notify event,</span></td></tr>
+<tr class="codeline" data-linenumber="3970"><td class="num" id="LN3970">3970</td><td class="line"> <span class='comment'>but just a focus in/out, so queue the autohide in that case.</span></td></tr>
+<tr class="codeline" data-linenumber="3971"><td class="num" id="LN3971">3971</td><td class="line"> <span class='comment'>If the pointer is inside the panel then obviously we won't hide */</span></td></tr>
+<tr class="codeline" data-linenumber="3972"><td class="num" id="LN3972">3972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3973"><td class="num" id="LN3973">3973</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3974"><td class="num" id="LN3974">3974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3975"><td class="num" id="LN3975">3975</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event)</td></tr>
+<tr class="codeline" data-linenumber="3976"><td class="num" id="LN3976">3976</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3977"><td class="num" id="LN3977">3977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3978"><td class="num" id="LN3978">3978</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3979"><td class="num" id="LN3979">3979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3980"><td class="num" id="LN3980">3980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3981"><td class="num" id="LN3981">3981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3982"><td class="num" id="LN3982">3982</td><td class="line">panel_toplevel_style_updated (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3983"><td class="num" id="LN3983">3983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3984"><td class="num" id="LN3984">3984</td><td class="line"> panel_toplevel_update_hide_buttons (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3985"><td class="num" id="LN3985">3985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3986"><td class="num" id="LN3986">3986</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated)</td></tr>
+<tr class="codeline" data-linenumber="3987"><td class="num" id="LN3987">3987</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated (widget);</td></tr>
+<tr class="codeline" data-linenumber="3988"><td class="num" id="LN3988">3988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3989"><td class="num" id="LN3989">3989</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3990"><td class="num" id="LN3990">3990</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3991"><td class="num" id="LN3991">3991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3992"><td class="num" id="LN3992">3992</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3993"><td class="num" id="LN3993">3993</td><td class="line">panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3994"><td class="num" id="LN3994">3994</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3995"><td class="num" id="LN3995">3995</td><td class="line"> <span class='keyword'>int</span> threshold;</td></tr>
+<tr class="codeline" data-linenumber="3996"><td class="num" id="LN3996">3996</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3997"><td class="num" id="LN3997">3997</td><td class="line"> threshold = 0;</td></tr>
+<tr class="codeline" data-linenumber="3998"><td class="num" id="LN3998">3998</td><td class="line"> g_object_get (<span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;gtk_settings)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;gtk_settings)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="3999"><td class="num" id="LN3999">3999</td><td class="line"> <span class='string_literal'>"gtk-dnd-drag-threshold"</span>, &amp;threshold,</td></tr>
+<tr class="codeline" data-linenumber="4000"><td class="num" id="LN4000">4000</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4001"><td class="num" id="LN4001">4001</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4002"><td class="num" id="LN4002">4002</td><td class="line"> <span class='keyword'>if</span> (threshold)</td></tr>
+<tr class="codeline" data-linenumber="4003"><td class="num" id="LN4003">4003</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = threshold * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4004"><td class="num" id="LN4004">4004</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4005"><td class="num" id="LN4005">4005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4006"><td class="num" id="LN4006">4006</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4007"><td class="num" id="LN4007">4007</td><td class="line">panel_toplevel_update_gtk_settings (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4008"><td class="num" id="LN4008">4008</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4009"><td class="num" id="LN4009">4009</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings)</td></tr>
+<tr class="codeline" data-linenumber="4010"><td class="num" id="LN4010">4010</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4011"><td class="num" id="LN4011">4011</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4012"><td class="num" id="LN4012">4012</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4013"><td class="num" id="LN4013">4013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4014"><td class="num" id="LN4014">4014</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = gtk_widget_get_settings (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;panel_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;panel_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4015"><td class="num" id="LN4015">4015</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4016"><td class="num" id="LN4016">4016</td><td class="line"> <span class='macro'>g_signal_connect_swapped (toplevel-&gt;priv-&gt;gtk_settings, <span class='string_literal'>"notify::gtk-dnd-drag-threshold"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4017"><td class="num" id="LN4017">4017</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4018"><td class="num" id="LN4018">4018</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4019"><td class="num" id="LN4019">4019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4020"><td class="num" id="LN4020">4020</td><td class="line"> panel_toplevel_drag_threshold_changed (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4021"><td class="num" id="LN4021">4021</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4022"><td class="num" id="LN4022">4022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4023"><td class="num" id="LN4023">4023</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4024"><td class="num" id="LN4024">4024</td><td class="line">panel_toplevel_screen_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="4025"><td class="num" id="LN4025">4025</td><td class="line"> GdkScreen *previous_screen)</td></tr>
+<tr class="codeline" data-linenumber="4026"><td class="num" id="LN4026">4026</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4027"><td class="num" id="LN4027">4027</td><td class="line"> panel_toplevel_update_gtk_settings (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4028"><td class="num" id="LN4028">4028</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4029"><td class="num" id="LN4029">4029</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed)</td></tr>
+<tr class="codeline" data-linenumber="4030"><td class="num" id="LN4030">4030</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed (widget, previous_screen);</td></tr>
+<tr class="codeline" data-linenumber="4031"><td class="num" id="LN4031">4031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4032"><td class="num" id="LN4032">4032</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="4033"><td class="num" id="LN4033">4033</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4034"><td class="num" id="LN4034">4034</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4035"><td class="num" id="LN4035">4035</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4036"><td class="num" id="LN4036">4036</td><td class="line">panel_toplevel_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4037"><td class="num" id="LN4037">4037</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4038"><td class="num" id="LN4038">4038</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4039"><td class="num" id="LN4039">4039</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4040"><td class="num" id="LN4040">4040</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4041"><td class="num" id="LN4041">4041</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4042"><td class="num" id="LN4042">4042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4043"><td class="num" id="LN4043">4043</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4044"><td class="num" id="LN4044">4044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4045"><td class="num" id="LN4045">4045</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4046"><td class="num" id="LN4046">4046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4047"><td class="num" id="LN4047">4047</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4048"><td class="num" id="LN4048">4048</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4049"><td class="num" id="LN4049">4049</td><td class="line"> panel_toplevel_set_name (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4050"><td class="num" id="LN4050">4050</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4051"><td class="num" id="LN4051">4051</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4052"><td class="num" id="LN4052">4052</td><td class="line"> panel_toplevel_set_settings_path (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4053"><td class="num" id="LN4053">4053</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4054"><td class="num" id="LN4054">4054</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4055"><td class="num" id="LN4055">4055</td><td class="line"> panel_toplevel_set_expand (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4056"><td class="num" id="LN4056">4056</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4057"><td class="num" id="LN4057">4057</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4058"><td class="num" id="LN4058">4058</td><td class="line"> panel_toplevel_set_orientation (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4059"><td class="num" id="LN4059">4059</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4060"><td class="num" id="LN4060">4060</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4061"><td class="num" id="LN4061">4061</td><td class="line"> panel_toplevel_set_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4062"><td class="num" id="LN4062">4062</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4063"><td class="num" id="LN4063">4063</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4064"><td class="num" id="LN4064">4064</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4065"><td class="num" id="LN4065">4065</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4066"><td class="num" id="LN4066">4066</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4067"><td class="num" id="LN4067">4067</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4068"><td class="num" id="LN4068">4068</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4069"><td class="num" id="LN4069">4069</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4070"><td class="num" id="LN4070">4070</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4071"><td class="num" id="LN4071">4071</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4072"><td class="num" id="LN4072">4072</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4073"><td class="num" id="LN4073">4073</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4074"><td class="num" id="LN4074">4074</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4075"><td class="num" id="LN4075">4075</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4076"><td class="num" id="LN4076">4076</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4077"><td class="num" id="LN4077">4077</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4078"><td class="num" id="LN4078">4078</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4079"><td class="num" id="LN4079">4079</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4080"><td class="num" id="LN4080">4080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4081"><td class="num" id="LN4081">4081</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4082"><td class="num" id="LN4082">4082</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4083"><td class="num" id="LN4083">4083</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4084"><td class="num" id="LN4084">4084</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4085"><td class="num" id="LN4085">4085</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4086"><td class="num" id="LN4086">4086</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4087"><td class="num" id="LN4087">4087</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4088"><td class="num" id="LN4088">4088</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4089"><td class="num" id="LN4089">4089</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4090"><td class="num" id="LN4090">4090</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4091"><td class="num" id="LN4091">4091</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4092"><td class="num" id="LN4092">4092</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4093"><td class="num" id="LN4093">4093</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4094"><td class="num" id="LN4094">4094</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4095"><td class="num" id="LN4095">4095</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4096"><td class="num" id="LN4096">4096</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4097"><td class="num" id="LN4097">4097</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4098"><td class="num" id="LN4098">4098</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4099"><td class="num" id="LN4099">4099</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4100"><td class="num" id="LN4100">4100</td><td class="line"> panel_toplevel_set_monitor (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4101"><td class="num" id="LN4101">4101</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4102"><td class="num" id="LN4102">4102</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4103"><td class="num" id="LN4103">4103</td><td class="line"> panel_toplevel_set_auto_hide (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4104"><td class="num" id="LN4104">4104</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4105"><td class="num" id="LN4105">4105</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4106"><td class="num" id="LN4106">4106</td><td class="line"> panel_toplevel_set_hide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4107"><td class="num" id="LN4107">4107</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4108"><td class="num" id="LN4108">4108</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4109"><td class="num" id="LN4109">4109</td><td class="line"> panel_toplevel_set_unhide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4110"><td class="num" id="LN4110">4110</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4111"><td class="num" id="LN4111">4111</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4112"><td class="num" id="LN4112">4112</td><td class="line"> panel_toplevel_set_auto_hide_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4113"><td class="num" id="LN4113">4113</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4114"><td class="num" id="LN4114">4114</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4115"><td class="num" id="LN4115">4115</td><td class="line"> panel_toplevel_set_animate (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4116"><td class="num" id="LN4116">4116</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4117"><td class="num" id="LN4117">4117</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4118"><td class="num" id="LN4118">4118</td><td class="line"> panel_toplevel_set_animation_speed (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4119"><td class="num" id="LN4119">4119</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4120"><td class="num" id="LN4120">4120</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4121"><td class="num" id="LN4121">4121</td><td class="line"> panel_toplevel_set_enable_buttons (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4122"><td class="num" id="LN4122">4122</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4123"><td class="num" id="LN4123">4123</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4124"><td class="num" id="LN4124">4124</td><td class="line"> panel_toplevel_set_enable_arrows (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4125"><td class="num" id="LN4125">4125</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4126"><td class="num" id="LN4126">4126</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4127"><td class="num" id="LN4127">4127</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4127, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4128"><td class="num" id="LN4128">4128</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4129"><td class="num" id="LN4129">4129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4130"><td class="num" id="LN4130">4130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4131"><td class="num" id="LN4131">4131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4132"><td class="num" id="LN4132">4132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4133"><td class="num" id="LN4133">4133</td><td class="line">panel_toplevel_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4134"><td class="num" id="LN4134">4134</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4135"><td class="num" id="LN4135">4135</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4136"><td class="num" id="LN4136">4136</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4137"><td class="num" id="LN4137">4137</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4138"><td class="num" id="LN4138">4138</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4139"><td class="num" id="LN4139">4139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4140"><td class="num" id="LN4140">4140</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4141"><td class="num" id="LN4141">4141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4142"><td class="num" id="LN4142">4142</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4143"><td class="num" id="LN4143">4143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4144"><td class="num" id="LN4144">4144</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4145"><td class="num" id="LN4145">4145</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4146"><td class="num" id="LN4146">4146</td><td class="line"> g_value_set_string (value, panel_toplevel_get_name (toplevel));</td></tr>
+<tr class="codeline" data-linenumber="4147"><td class="num" id="LN4147">4147</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4148"><td class="num" id="LN4148">4148</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4149"><td class="num" id="LN4149">4149</td><td class="line"> g_value_set_string (value, toplevel-&gt;priv-&gt;settings_path);</td></tr>
+<tr class="codeline" data-linenumber="4150"><td class="num" id="LN4150">4150</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4151"><td class="num" id="LN4151">4151</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4152"><td class="num" id="LN4152">4152</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4153"><td class="num" id="LN4153">4153</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4154"><td class="num" id="LN4154">4154</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4155"><td class="num" id="LN4155">4155</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="4156"><td class="num" id="LN4156">4156</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4157"><td class="num" id="LN4157">4157</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4158"><td class="num" id="LN4158">4158</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4159"><td class="num" id="LN4159">4159</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4160"><td class="num" id="LN4160">4160</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4161"><td class="num" id="LN4161">4161</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x);</td></tr>
+<tr class="codeline" data-linenumber="4162"><td class="num" id="LN4162">4162</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4163"><td class="num" id="LN4163">4163</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4164"><td class="num" id="LN4164">4164</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x_right);</td></tr>
+<tr class="codeline" data-linenumber="4165"><td class="num" id="LN4165">4165</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4166"><td class="num" id="LN4166">4166</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4167"><td class="num" id="LN4167">4167</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4168"><td class="num" id="LN4168">4168</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4169"><td class="num" id="LN4169">4169</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4170"><td class="num" id="LN4170">4170</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y);</td></tr>
+<tr class="codeline" data-linenumber="4171"><td class="num" id="LN4171">4171</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4172"><td class="num" id="LN4172">4172</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4173"><td class="num" id="LN4173">4173</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4174"><td class="num" id="LN4174">4174</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4175"><td class="num" id="LN4175">4175</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4176"><td class="num" id="LN4176">4176</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4177"><td class="num" id="LN4177">4177</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4178"><td class="num" id="LN4178">4178</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4179"><td class="num" id="LN4179">4179</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="4180"><td class="num" id="LN4180">4180</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4181"><td class="num" id="LN4181">4181</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4182"><td class="num" id="LN4182">4182</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;auto_hide);</td></tr>
+<tr class="codeline" data-linenumber="4183"><td class="num" id="LN4183">4183</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4184"><td class="num" id="LN4184">4184</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4185"><td class="num" id="LN4185">4185</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;hide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4186"><td class="num" id="LN4186">4186</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4187"><td class="num" id="LN4187">4187</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4188"><td class="num" id="LN4188">4188</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;unhide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4189"><td class="num" id="LN4189">4189</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4190"><td class="num" id="LN4190">4190</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4191"><td class="num" id="LN4191">4191</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="4192"><td class="num" id="LN4192">4192</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4193"><td class="num" id="LN4193">4193</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4194"><td class="num" id="LN4194">4194</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;animate);</td></tr>
+<tr class="codeline" data-linenumber="4195"><td class="num" id="LN4195">4195</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4196"><td class="num" id="LN4196">4196</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4197"><td class="num" id="LN4197">4197</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;animation_speed);</td></tr>
+<tr class="codeline" data-linenumber="4198"><td class="num" id="LN4198">4198</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4199"><td class="num" id="LN4199">4199</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4200"><td class="num" id="LN4200">4200</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;buttons_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4201"><td class="num" id="LN4201">4201</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4202"><td class="num" id="LN4202">4202</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4203"><td class="num" id="LN4203">4203</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;arrows_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4204"><td class="num" id="LN4204">4204</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4205"><td class="num" id="LN4205">4205</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4206"><td class="num" id="LN4206">4206</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4206, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4207"><td class="num" id="LN4207">4207</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4208"><td class="num" id="LN4208">4208</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4209"><td class="num" id="LN4209">4209</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4210"><td class="num" id="LN4210">4210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4211"><td class="num" id="LN4211">4211</td><td class="line"><span class='keyword'>static</span> GObject*</td></tr>
+<tr class="codeline" data-linenumber="4212"><td class="num" id="LN4212">4212</td><td class="line">panel_toplevel_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="4213"><td class="num" id="LN4213">4213</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4214"><td class="num" id="LN4214">4214</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="4215"><td class="num" id="LN4215">4215</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4216"><td class="num" id="LN4216">4216</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="4217"><td class="num" id="LN4217">4217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4218"><td class="num" id="LN4218">4218</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="4219"><td class="num" id="LN4219">4219</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4220"><td class="num" id="LN4220">4220</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="4221"><td class="num" id="LN4221">4221</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL(object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4222"><td class="num" id="LN4222">4222</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4223"><td class="num" id="LN4223">4223</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="4224"><td class="num" id="LN4224">4224</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="4225"><td class="num" id="LN4225">4225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4226"><td class="num" id="LN4226">4226</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="4227"><td class="num" id="LN4227">4227</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4228"><td class="num" id="LN4228">4228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4229"><td class="num" id="LN4229">4229</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4230"><td class="num" id="LN4230">4230</td><td class="line">panel_toplevel_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="4231"><td class="num" id="LN4231">4231</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4232"><td class="num" id="LN4232">4232</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) object;</td></tr>
+<tr class="codeline" data-linenumber="4233"><td class="num" id="LN4233">4233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4234"><td class="num" id="LN4234">4234</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4235"><td class="num" id="LN4235">4235</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4236"><td class="num" id="LN4236">4236</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4237"><td class="num" id="LN4237">4237</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="4238"><td class="num" id="LN4238">4238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4239"><td class="num" id="LN4239">4239</td><td class="line"> toplevel_list = g_slist_remove (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4240"><td class="num" id="LN4240">4240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4241"><td class="num" id="LN4241">4241</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="4242"><td class="num" id="LN4242">4242</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4243"><td class="num" id="LN4243">4243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4244"><td class="num" id="LN4244">4244</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4245"><td class="num" id="LN4245">4245</td><td class="line">panel_toplevel_class_init (PanelToplevelClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="4246"><td class="num" id="LN4246">4246</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4247"><td class="num" id="LN4247">4247</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4248"><td class="num" id="LN4248">4248</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4249"><td class="num" id="LN4249">4249</td><td class="line"> GtkContainerClass *container_class = (GtkContainerClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4250"><td class="num" id="LN4250">4250</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="4251"><td class="num" id="LN4251">4251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4252"><td class="num" id="LN4252">4252</td><td class="line"> binding_set = gtk_binding_set_by_class (klass);</td></tr>
+<tr class="codeline" data-linenumber="4253"><td class="num" id="LN4253">4253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4254"><td class="num" id="LN4254">4254</td><td class="line"> gobject_class-&gt;constructor = panel_toplevel_constructor;</td></tr>
+<tr class="codeline" data-linenumber="4255"><td class="num" id="LN4255">4255</td><td class="line"> gobject_class-&gt;set_property = panel_toplevel_set_property;</td></tr>
+<tr class="codeline" data-linenumber="4256"><td class="num" id="LN4256">4256</td><td class="line"> gobject_class-&gt;get_property = panel_toplevel_get_property;</td></tr>
+<tr class="codeline" data-linenumber="4257"><td class="num" id="LN4257">4257</td><td class="line"> gobject_class-&gt;finalize = panel_toplevel_finalize;</td></tr>
+<tr class="codeline" data-linenumber="4258"><td class="num" id="LN4258">4258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4259"><td class="num" id="LN4259">4259</td><td class="line"> gobject_class-&gt;dispose = panel_toplevel_dispose;</td></tr>
+<tr class="codeline" data-linenumber="4260"><td class="num" id="LN4260">4260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4261"><td class="num" id="LN4261">4261</td><td class="line"> widget_class-&gt;realize = panel_toplevel_realize;</td></tr>
+<tr class="codeline" data-linenumber="4262"><td class="num" id="LN4262">4262</td><td class="line"> widget_class-&gt;unrealize = panel_toplevel_unrealize;</td></tr>
+<tr class="codeline" data-linenumber="4263"><td class="num" id="LN4263">4263</td><td class="line"> widget_class-&gt;state_flags_changed = panel_toplevel_state_flags_changed;</td></tr>
+<tr class="codeline" data-linenumber="4264"><td class="num" id="LN4264">4264</td><td class="line"> widget_class-&gt;draw = panel_toplevel_draw;</td></tr>
+<tr class="codeline" data-linenumber="4265"><td class="num" id="LN4265">4265</td><td class="line"> widget_class-&gt;get_preferred_width = panel_toplevel_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="4266"><td class="num" id="LN4266">4266</td><td class="line"> widget_class-&gt;get_preferred_height = panel_toplevel_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="4267"><td class="num" id="LN4267">4267</td><td class="line"> widget_class-&gt;style_updated = panel_toplevel_style_updated;</td></tr>
+<tr class="codeline" data-linenumber="4268"><td class="num" id="LN4268">4268</td><td class="line"> widget_class-&gt;size_allocate = panel_toplevel_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="4269"><td class="num" id="LN4269">4269</td><td class="line"> widget_class-&gt;button_press_event = panel_toplevel_button_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4270"><td class="num" id="LN4270">4270</td><td class="line"> widget_class-&gt;button_release_event = panel_toplevel_button_release_event;</td></tr>
+<tr class="codeline" data-linenumber="4271"><td class="num" id="LN4271">4271</td><td class="line"> widget_class-&gt;configure_event = panel_toplevel_configure_event;</td></tr>
+<tr class="codeline" data-linenumber="4272"><td class="num" id="LN4272">4272</td><td class="line"> widget_class-&gt;key_press_event = panel_toplevel_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4273"><td class="num" id="LN4273">4273</td><td class="line"> widget_class-&gt;motion_notify_event = panel_toplevel_motion_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4274"><td class="num" id="LN4274">4274</td><td class="line"> widget_class-&gt;enter_notify_event = panel_toplevel_enter_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4275"><td class="num" id="LN4275">4275</td><td class="line"> widget_class-&gt;leave_notify_event = panel_toplevel_leave_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4276"><td class="num" id="LN4276">4276</td><td class="line"> widget_class-&gt;screen_changed = panel_toplevel_screen_changed;</td></tr>
+<tr class="codeline" data-linenumber="4277"><td class="num" id="LN4277">4277</td><td class="line"> widget_class-&gt;focus_in_event = panel_toplevel_focus_in_event;</td></tr>
+<tr class="codeline" data-linenumber="4278"><td class="num" id="LN4278">4278</td><td class="line"> widget_class-&gt;focus_out_event = panel_toplevel_focus_out_event;</td></tr>
+<tr class="codeline" data-linenumber="4279"><td class="num" id="LN4279">4279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4280"><td class="num" id="LN4280">4280</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelToplevel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4281"><td class="num" id="LN4281">4281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4282"><td class="num" id="LN4282">4282</td><td class="line"> container_class-&gt;check_resize = panel_toplevel_check_resize;</td></tr>
+<tr class="codeline" data-linenumber="4283"><td class="num" id="LN4283">4283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4284"><td class="num" id="LN4284">4284</td><td class="line"> klass-&gt;hiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4285"><td class="num" id="LN4285">4285</td><td class="line"> klass-&gt;unhiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4286"><td class="num" id="LN4286">4286</td><td class="line"> klass-&gt;popup_panel_menu = panel_toplevel_popup_panel_menu;</td></tr>
+<tr class="codeline" data-linenumber="4287"><td class="num" id="LN4287">4287</td><td class="line"> klass-&gt;toggle_expand = panel_toplevel_toggle_expand;</td></tr>
+<tr class="codeline" data-linenumber="4288"><td class="num" id="LN4288">4288</td><td class="line"> klass-&gt;expand = panel_toplevel_expand;</td></tr>
+<tr class="codeline" data-linenumber="4289"><td class="num" id="LN4289">4289</td><td class="line"> klass-&gt;unexpand = panel_toplevel_unexpand;</td></tr>
+<tr class="codeline" data-linenumber="4290"><td class="num" id="LN4290">4290</td><td class="line"> klass-&gt;toggle_hidden = panel_toplevel_toggle_hidden;</td></tr>
+<tr class="codeline" data-linenumber="4291"><td class="num" id="LN4291">4291</td><td class="line"> klass-&gt;begin_move = panel_toplevel_begin_move;</td></tr>
+<tr class="codeline" data-linenumber="4292"><td class="num" id="LN4292">4292</td><td class="line"> klass-&gt;begin_resize = panel_toplevel_begin_resize;</td></tr>
+<tr class="codeline" data-linenumber="4293"><td class="num" id="LN4293">4293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4294"><td class="num" id="LN4294">4294</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4295"><td class="num" id="LN4295">4295</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4296"><td class="num" id="LN4296">4296</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="4297"><td class="num" id="LN4297">4297</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4298"><td class="num" id="LN4298">4298</td><td class="line"> <span class='string_literal'>"name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4299"><td class="num" id="LN4299">4299</td><td class="line"> <span class='string_literal'>"Name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4300"><td class="num" id="LN4300">4300</td><td class="line"> <span class='string_literal'>"The name of this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4301"><td class="num" id="LN4301">4301</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4302"><td class="num" id="LN4302">4302</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4303"><td class="num" id="LN4303">4303</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4304"><td class="num" id="LN4304">4304</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4305"><td class="num" id="LN4305">4305</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4306"><td class="num" id="LN4306">4306</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="4307"><td class="num" id="LN4307">4307</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4308"><td class="num" id="LN4308">4308</td><td class="line"> <span class='string_literal'>"settings-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4309"><td class="num" id="LN4309">4309</td><td class="line"> <span class='string_literal'>"GSettings path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4310"><td class="num" id="LN4310">4310</td><td class="line"> <span class='string_literal'>"The GSettings path used for this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4311"><td class="num" id="LN4311">4311</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4312"><td class="num" id="LN4312">4312</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4313"><td class="num" id="LN4313">4313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4314"><td class="num" id="LN4314">4314</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4315"><td class="num" id="LN4315">4315</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4316"><td class="num" id="LN4316">4316</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="4317"><td class="num" id="LN4317">4317</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4318"><td class="num" id="LN4318">4318</td><td class="line"> <span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4319"><td class="num" id="LN4319">4319</td><td class="line"> <span class='string_literal'>"Expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4320"><td class="num" id="LN4320">4320</td><td class="line"> <span class='string_literal'>"Expand to take up the full monitor width/height"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4321"><td class="num" id="LN4321">4321</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4322"><td class="num" id="LN4322">4322</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4323"><td class="num" id="LN4323">4323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4324"><td class="num" id="LN4324">4324</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4325"><td class="num" id="LN4325">4325</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4326"><td class="num" id="LN4326">4326</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="4327"><td class="num" id="LN4327">4327</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4328"><td class="num" id="LN4328">4328</td><td class="line"> <span class='string_literal'>"orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4329"><td class="num" id="LN4329">4329</td><td class="line"> <span class='string_literal'>"Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4330"><td class="num" id="LN4330">4330</td><td class="line"> <span class='string_literal'>"The orientation of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4331"><td class="num" id="LN4331">4331</td><td class="line"> <span class='macro'>PANEL_TYPE_ORIENTATION<span class='macro_popup'>panel_orientation_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4332"><td class="num" id="LN4332">4332</td><td class="line"> PANEL_ORIENTATION_TOP,</td></tr>
+<tr class="codeline" data-linenumber="4333"><td class="num" id="LN4333">4333</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4334"><td class="num" id="LN4334">4334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4335"><td class="num" id="LN4335">4335</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4336"><td class="num" id="LN4336">4336</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4337"><td class="num" id="LN4337">4337</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4338"><td class="num" id="LN4338">4338</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4339"><td class="num" id="LN4339">4339</td><td class="line"> <span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4340"><td class="num" id="LN4340">4340</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4341"><td class="num" id="LN4341">4341</td><td class="line"> <span class='string_literal'>"The height (or width when vertical) of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4342"><td class="num" id="LN4342">4342</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4343"><td class="num" id="LN4343">4343</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4344"><td class="num" id="LN4344">4344</td><td class="line"> <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4345"><td class="num" id="LN4345">4345</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4346"><td class="num" id="LN4346">4346</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4347"><td class="num" id="LN4347">4347</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4348"><td class="num" id="LN4348">4348</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4349"><td class="num" id="LN4349">4349</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="4350"><td class="num" id="LN4350">4350</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4351"><td class="num" id="LN4351">4351</td><td class="line"> <span class='string_literal'>"x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4352"><td class="num" id="LN4352">4352</td><td class="line"> <span class='string_literal'>"X position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4353"><td class="num" id="LN4353">4353</td><td class="line"> <span class='string_literal'>"The X position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4354"><td class="num" id="LN4354">4354</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4355"><td class="num" id="LN4355">4355</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4356"><td class="num" id="LN4356">4356</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4357"><td class="num" id="LN4357">4357</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4358"><td class="num" id="LN4358">4358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4359"><td class="num" id="LN4359">4359</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4360"><td class="num" id="LN4360">4360</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4361"><td class="num" id="LN4361">4361</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="4362"><td class="num" id="LN4362">4362</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4363"><td class="num" id="LN4363">4363</td><td class="line"> <span class='string_literal'>"x-right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4364"><td class="num" id="LN4364">4364</td><td class="line"> <span class='string_literal'>"X position, from the right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4365"><td class="num" id="LN4365">4365</td><td class="line"> <span class='string_literal'>"The X position of the panel, starting from the right of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4366"><td class="num" id="LN4366">4366</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4367"><td class="num" id="LN4367">4367</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4368"><td class="num" id="LN4368">4368</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4369"><td class="num" id="LN4369">4369</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4370"><td class="num" id="LN4370">4370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4371"><td class="num" id="LN4371">4371</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4372"><td class="num" id="LN4372">4372</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4373"><td class="num" id="LN4373">4373</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4374"><td class="num" id="LN4374">4374</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4375"><td class="num" id="LN4375">4375</td><td class="line"> <span class='string_literal'>"x-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4376"><td class="num" id="LN4376">4376</td><td class="line"> <span class='string_literal'>"X centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4377"><td class="num" id="LN4377">4377</td><td class="line"> <span class='string_literal'>"The x co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4378"><td class="num" id="LN4378">4378</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4379"><td class="num" id="LN4379">4379</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4380"><td class="num" id="LN4380">4380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4381"><td class="num" id="LN4381">4381</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4382"><td class="num" id="LN4382">4382</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4383"><td class="num" id="LN4383">4383</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="4384"><td class="num" id="LN4384">4384</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4385"><td class="num" id="LN4385">4385</td><td class="line"> <span class='string_literal'>"y"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4386"><td class="num" id="LN4386">4386</td><td class="line"> <span class='string_literal'>"Y position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4387"><td class="num" id="LN4387">4387</td><td class="line"> <span class='string_literal'>"The Y position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4388"><td class="num" id="LN4388">4388</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4389"><td class="num" id="LN4389">4389</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4390"><td class="num" id="LN4390">4390</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4391"><td class="num" id="LN4391">4391</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4392"><td class="num" id="LN4392">4392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4393"><td class="num" id="LN4393">4393</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4394"><td class="num" id="LN4394">4394</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4395"><td class="num" id="LN4395">4395</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="4396"><td class="num" id="LN4396">4396</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4397"><td class="num" id="LN4397">4397</td><td class="line"> <span class='string_literal'>"y_bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4398"><td class="num" id="LN4398">4398</td><td class="line"> <span class='string_literal'>"Y position, from the bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4399"><td class="num" id="LN4399">4399</td><td class="line"> <span class='string_literal'>"The Y position of the panel, starting from the bottom of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4400"><td class="num" id="LN4400">4400</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4401"><td class="num" id="LN4401">4401</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4402"><td class="num" id="LN4402">4402</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4403"><td class="num" id="LN4403">4403</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4404"><td class="num" id="LN4404">4404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4405"><td class="num" id="LN4405">4405</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4406"><td class="num" id="LN4406">4406</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4407"><td class="num" id="LN4407">4407</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4408"><td class="num" id="LN4408">4408</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4409"><td class="num" id="LN4409">4409</td><td class="line"> <span class='string_literal'>"y-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4410"><td class="num" id="LN4410">4410</td><td class="line"> <span class='string_literal'>"Y centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4411"><td class="num" id="LN4411">4411</td><td class="line"> <span class='string_literal'>"The y co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4412"><td class="num" id="LN4412">4412</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4413"><td class="num" id="LN4413">4413</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4414"><td class="num" id="LN4414">4414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4415"><td class="num" id="LN4415">4415</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4416"><td class="num" id="LN4416">4416</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4417"><td class="num" id="LN4417">4417</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="4418"><td class="num" id="LN4418">4418</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4419"><td class="num" id="LN4419">4419</td><td class="line"> <span class='string_literal'>"monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4420"><td class="num" id="LN4420">4420</td><td class="line"> <span class='string_literal'>"Xinerama monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4421"><td class="num" id="LN4421">4421</td><td class="line"> <span class='string_literal'>"The monitor (in terms of Xinerama) which the panel is on"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4422"><td class="num" id="LN4422">4422</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4423"><td class="num" id="LN4423">4423</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4424"><td class="num" id="LN4424">4424</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4425"><td class="num" id="LN4425">4425</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4426"><td class="num" id="LN4426">4426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4427"><td class="num" id="LN4427">4427</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4428"><td class="num" id="LN4428">4428</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4429"><td class="num" id="LN4429">4429</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="4430"><td class="num" id="LN4430">4430</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4431"><td class="num" id="LN4431">4431</td><td class="line"> <span class='string_literal'>"auto-hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4432"><td class="num" id="LN4432">4432</td><td class="line"> <span class='string_literal'>"Auto hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4433"><td class="num" id="LN4433">4433</td><td class="line"> <span class='string_literal'>"Automatically hide the panel when the mouse leaves the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4434"><td class="num" id="LN4434">4434</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4435"><td class="num" id="LN4435">4435</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4436"><td class="num" id="LN4436">4436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4437"><td class="num" id="LN4437">4437</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4438"><td class="num" id="LN4438">4438</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4439"><td class="num" id="LN4439">4439</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4440"><td class="num" id="LN4440">4440</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4441"><td class="num" id="LN4441">4441</td><td class="line"> <span class='string_literal'>"hide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4442"><td class="num" id="LN4442">4442</td><td class="line"> <span class='string_literal'>"Hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4443"><td class="num" id="LN4443">4443</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4444"><td class="num" id="LN4444">4444</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4445"><td class="num" id="LN4445">4445</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4446"><td class="num" id="LN4446">4446</td><td class="line"> <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4447"><td class="num" id="LN4447">4447</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4448"><td class="num" id="LN4448">4448</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4449"><td class="num" id="LN4449">4449</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4450"><td class="num" id="LN4450">4450</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4451"><td class="num" id="LN4451">4451</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4452"><td class="num" id="LN4452">4452</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4453"><td class="num" id="LN4453">4453</td><td class="line"> <span class='string_literal'>"unhide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4454"><td class="num" id="LN4454">4454</td><td class="line"> <span class='string_literal'>"Un-hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4455"><td class="num" id="LN4455">4455</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically un-hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4456"><td class="num" id="LN4456">4456</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4457"><td class="num" id="LN4457">4457</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4458"><td class="num" id="LN4458">4458</td><td class="line"> <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4459"><td class="num" id="LN4459">4459</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4460"><td class="num" id="LN4460">4460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4461"><td class="num" id="LN4461">4461</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4462"><td class="num" id="LN4462">4462</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4463"><td class="num" id="LN4463">4463</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4464"><td class="num" id="LN4464">4464</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4465"><td class="num" id="LN4465">4465</td><td class="line"> <span class='string_literal'>"auto-hide-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4466"><td class="num" id="LN4466">4466</td><td class="line"> <span class='string_literal'>"Auto-hide size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4467"><td class="num" id="LN4467">4467</td><td class="line"> <span class='string_literal'>"The number of pixels visible when the panel has been automatically hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4468"><td class="num" id="LN4468">4468</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="4469"><td class="num" id="LN4469">4469</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4470"><td class="num" id="LN4470">4470</td><td class="line"> <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4471"><td class="num" id="LN4471">4471</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4472"><td class="num" id="LN4472">4472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4473"><td class="num" id="LN4473">4473</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4474"><td class="num" id="LN4474">4474</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4475"><td class="num" id="LN4475">4475</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="4476"><td class="num" id="LN4476">4476</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4477"><td class="num" id="LN4477">4477</td><td class="line"> <span class='string_literal'>"animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4478"><td class="num" id="LN4478">4478</td><td class="line"> <span class='string_literal'>"Animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4479"><td class="num" id="LN4479">4479</td><td class="line"> <span class='string_literal'>"Enable hiding/showing animations"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4480"><td class="num" id="LN4480">4480</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4481"><td class="num" id="LN4481">4481</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4482"><td class="num" id="LN4482">4482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4483"><td class="num" id="LN4483">4483</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4484"><td class="num" id="LN4484">4484</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4485"><td class="num" id="LN4485">4485</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="4486"><td class="num" id="LN4486">4486</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4487"><td class="num" id="LN4487">4487</td><td class="line"> <span class='string_literal'>"animation-speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4488"><td class="num" id="LN4488">4488</td><td class="line"> <span class='string_literal'>"Animation Speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4489"><td class="num" id="LN4489">4489</td><td class="line"> <span class='string_literal'>"The speed at which to animate panel hiding/showing"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4490"><td class="num" id="LN4490">4490</td><td class="line"> <span class='macro'>PANEL_TYPE_ANIMATION_SPEED<span class='macro_popup'>panel_animation_speed_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4491"><td class="num" id="LN4491">4491</td><td class="line"> PANEL_ANIMATION_MEDIUM,</td></tr>
+<tr class="codeline" data-linenumber="4492"><td class="num" id="LN4492">4492</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4493"><td class="num" id="LN4493">4493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4494"><td class="num" id="LN4494">4494</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4495"><td class="num" id="LN4495">4495</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4496"><td class="num" id="LN4496">4496</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4497"><td class="num" id="LN4497">4497</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4498"><td class="num" id="LN4498">4498</td><td class="line"> <span class='string_literal'>"buttons-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4499"><td class="num" id="LN4499">4499</td><td class="line"> <span class='string_literal'>"Buttons Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4500"><td class="num" id="LN4500">4500</td><td class="line"> <span class='string_literal'>"Enable hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4501"><td class="num" id="LN4501">4501</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4502"><td class="num" id="LN4502">4502</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4503"><td class="num" id="LN4503">4503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4504"><td class="num" id="LN4504">4504</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4505"><td class="num" id="LN4505">4505</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4506"><td class="num" id="LN4506">4506</td><td class="line"> PROP_ARROWS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4507"><td class="num" id="LN4507">4507</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4508"><td class="num" id="LN4508">4508</td><td class="line"> <span class='string_literal'>"arrows-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4509"><td class="num" id="LN4509">4509</td><td class="line"> <span class='string_literal'>"Arrows Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4510"><td class="num" id="LN4510">4510</td><td class="line"> <span class='string_literal'>"Enable arrows on hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4511"><td class="num" id="LN4511">4511</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4512"><td class="num" id="LN4512">4512</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4513"><td class="num" id="LN4513">4513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4514"><td class="num" id="LN4514">4514</td><td class="line"> gtk_widget_class_install_style_property (</td></tr>
+<tr class="codeline" data-linenumber="4515"><td class="num" id="LN4515">4515</td><td class="line"> widget_class,</td></tr>
+<tr class="codeline" data-linenumber="4516"><td class="num" id="LN4516">4516</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4517"><td class="num" id="LN4517">4517</td><td class="line"> <span class='string_literal'>"arrow-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4518"><td class="num" id="LN4518">4518</td><td class="line"> <span class='string_literal'>"Arrow Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4519"><td class="num" id="LN4519">4519</td><td class="line"> <span class='string_literal'>"The size of the arrows on the hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4520"><td class="num" id="LN4520">4520</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4521"><td class="num" id="LN4521">4521</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4522"><td class="num" id="LN4522">4522</td><td class="line"> <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4523"><td class="num" id="LN4523">4523</td><td class="line"> G_PARAM_READABLE));</td></tr>
+<tr class="codeline" data-linenumber="4524"><td class="num" id="LN4524">4524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4525"><td class="num" id="LN4525">4525</td><td class="line"> toplevel_signals [HIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4526"><td class="num" id="LN4526">4526</td><td class="line"> g_signal_new (<span class='string_literal'>"hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4527"><td class="num" id="LN4527">4527</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4528"><td class="num" id="LN4528">4528</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4529"><td class="num" id="LN4529">4529</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, hiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, hiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4530"><td class="num" id="LN4530">4530</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4531"><td class="num" id="LN4531">4531</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4532"><td class="num" id="LN4532">4532</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4533"><td class="num" id="LN4533">4533</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4534"><td class="num" id="LN4534">4534</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4535"><td class="num" id="LN4535">4535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4536"><td class="num" id="LN4536">4536</td><td class="line"> toplevel_signals [UNHIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4537"><td class="num" id="LN4537">4537</td><td class="line"> g_signal_new (<span class='string_literal'>"unhiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4538"><td class="num" id="LN4538">4538</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4539"><td class="num" id="LN4539">4539</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4540"><td class="num" id="LN4540">4540</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unhiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unhiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4541"><td class="num" id="LN4541">4541</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4542"><td class="num" id="LN4542">4542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4543"><td class="num" id="LN4543">4543</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4544"><td class="num" id="LN4544">4544</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4545"><td class="num" id="LN4545">4545</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4546"><td class="num" id="LN4546">4546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4547"><td class="num" id="LN4547">4547</td><td class="line"> toplevel_signals [POPUP_PANEL_MENU_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4548"><td class="num" id="LN4548">4548</td><td class="line"> g_signal_new (<span class='string_literal'>"popup-panel-menu"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4549"><td class="num" id="LN4549">4549</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4550"><td class="num" id="LN4550">4550</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4551"><td class="num" id="LN4551">4551</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, popup_panel_menu)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, popup_panel_menu<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4552"><td class="num" id="LN4552">4552</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4553"><td class="num" id="LN4553">4553</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4554"><td class="num" id="LN4554">4554</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4555"><td class="num" id="LN4555">4555</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4556"><td class="num" id="LN4556">4556</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4557"><td class="num" id="LN4557">4557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4558"><td class="num" id="LN4558">4558</td><td class="line"> toplevel_signals [TOGGLE_EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4559"><td class="num" id="LN4559">4559</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4560"><td class="num" id="LN4560">4560</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4561"><td class="num" id="LN4561">4561</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4562"><td class="num" id="LN4562">4562</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_expand<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4563"><td class="num" id="LN4563">4563</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4564"><td class="num" id="LN4564">4564</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4565"><td class="num" id="LN4565">4565</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4566"><td class="num" id="LN4566">4566</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4567"><td class="num" id="LN4567">4567</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4568"><td class="num" id="LN4568">4568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4569"><td class="num" id="LN4569">4569</td><td class="line"> toplevel_signals [EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4570"><td class="num" id="LN4570">4570</td><td class="line"> g_signal_new (<span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4571"><td class="num" id="LN4571">4571</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4572"><td class="num" id="LN4572">4572</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4573"><td class="num" id="LN4573">4573</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, expand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4574"><td class="num" id="LN4574">4574</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4575"><td class="num" id="LN4575">4575</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4576"><td class="num" id="LN4576">4576</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4577"><td class="num" id="LN4577">4577</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4578"><td class="num" id="LN4578">4578</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4579"><td class="num" id="LN4579">4579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4580"><td class="num" id="LN4580">4580</td><td class="line"> toplevel_signals [UNEXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4581"><td class="num" id="LN4581">4581</td><td class="line"> g_signal_new (<span class='string_literal'>"unexpand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4582"><td class="num" id="LN4582">4582</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4583"><td class="num" id="LN4583">4583</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4584"><td class="num" id="LN4584">4584</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unexpand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unexpand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4585"><td class="num" id="LN4585">4585</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4586"><td class="num" id="LN4586">4586</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4587"><td class="num" id="LN4587">4587</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4588"><td class="num" id="LN4588">4588</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4589"><td class="num" id="LN4589">4589</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4590"><td class="num" id="LN4590">4590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4591"><td class="num" id="LN4591">4591</td><td class="line"> toplevel_signals [TOGGLE_HIDDEN_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4592"><td class="num" id="LN4592">4592</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4593"><td class="num" id="LN4593">4593</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4594"><td class="num" id="LN4594">4594</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4595"><td class="num" id="LN4595">4595</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_hidden)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_hidden<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4596"><td class="num" id="LN4596">4596</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4597"><td class="num" id="LN4597">4597</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4598"><td class="num" id="LN4598">4598</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4599"><td class="num" id="LN4599">4599</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4600"><td class="num" id="LN4600">4600</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4601"><td class="num" id="LN4601">4601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4602"><td class="num" id="LN4602">4602</td><td class="line"> toplevel_signals [BEGIN_MOVE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4603"><td class="num" id="LN4603">4603</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4604"><td class="num" id="LN4604">4604</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4605"><td class="num" id="LN4605">4605</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4606"><td class="num" id="LN4606">4606</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_move)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_move))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4607"><td class="num" id="LN4607">4607</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4608"><td class="num" id="LN4608">4608</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4609"><td class="num" id="LN4609">4609</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4610"><td class="num" id="LN4610">4610</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4611"><td class="num" id="LN4611">4611</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4612"><td class="num" id="LN4612">4612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4613"><td class="num" id="LN4613">4613</td><td class="line"> toplevel_signals [BEGIN_RESIZE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4614"><td class="num" id="LN4614">4614</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-resize"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4615"><td class="num" id="LN4615">4615</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4616"><td class="num" id="LN4616">4616</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4617"><td class="num" id="LN4617">4617</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_resize)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_resize)<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4618"><td class="num" id="LN4618">4618</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4619"><td class="num" id="LN4619">4619</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4620"><td class="num" id="LN4620">4620</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4621"><td class="num" id="LN4621">4621</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4622"><td class="num" id="LN4622">4622</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4623"><td class="num" id="LN4623">4623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4624"><td class="num" id="LN4624">4624</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_F10<span class='macro_popup'>0xffc7</span></span>, GDK_CONTROL_MASK,</td></tr>
+<tr class="codeline" data-linenumber="4625"><td class="num" id="LN4625">4625</td><td class="line"> <span class='string_literal'>"popup_panel_menu"</span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="4626"><td class="num" id="LN4626">4626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4627"><td class="num" id="LN4627">4627</td><td class="line"> panel_bindings_set_entries (binding_set);</td></tr>
+<tr class="codeline" data-linenumber="4628"><td class="num" id="LN4628">4628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4629"><td class="num" id="LN4629">4629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4630"><td class="num" id="LN4630">4630</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4631"><td class="num" id="LN4631">4631</td><td class="line">panel_toplevel_setup_widgets (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4632"><td class="num" id="LN4632">4632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4633"><td class="num" id="LN4633">4633</td><td class="line"> GtkWidget* container;</td></tr>
+<tr class="codeline" data-linenumber="4634"><td class="num" id="LN4634">4634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4635"><td class="num" id="LN4635">4635</td><td class="line"> toplevel-&gt;priv-&gt;grid = gtk_grid_new ();</td></tr>
+<tr class="codeline" data-linenumber="4636"><td class="num" id="LN4636">4636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4637"><td class="num" id="LN4637">4637</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_UP, 1, 0);</td></tr>
+<tr class="codeline" data-linenumber="4638"><td class="num" id="LN4638">4638</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_DOWN, 1, 2);</td></tr>
+<tr class="codeline" data-linenumber="4639"><td class="num" id="LN4639">4639</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_LEFT, 0, 1);</td></tr>
+<tr class="codeline" data-linenumber="4640"><td class="num" id="LN4640">4640</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_RIGHT, 2, 1);</td></tr>
+<tr class="codeline" data-linenumber="4641"><td class="num" id="LN4641">4641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4642"><td class="num" id="LN4642">4642</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4643"><td class="num" id="LN4643">4643</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4644"><td class="num" id="LN4644">4644</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="4645"><td class="num" id="LN4645">4645</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="4646"><td class="num" id="LN4646">4646</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4647"><td class="num" id="LN4647">4647</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4648"><td class="num" id="LN4648">4648</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4649"><td class="num" id="LN4649">4649</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="4650"><td class="num" id="LN4650">4650</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4651"><td class="num" id="LN4651">4651</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4652"><td class="num" id="LN4652">4652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4653"><td class="num" id="LN4653">4653</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = g_object_new(<span class='macro'>PANEL_TYPE_FRAME<span class='macro_popup'>(panel_frame_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4654"><td class="num" id="LN4654">4654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4655"><td class="num" id="LN4655">4655</td><td class="line"> gtk_widget_set_hexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4656"><td class="num" id="LN4656">4656</td><td class="line"> gtk_widget_set_vexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4657"><td class="num" id="LN4657">4657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4658"><td class="num" id="LN4658">4658</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, <span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, 1, 1, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="4659"><td class="num" id="LN4659">4659</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4660"><td class="num" id="LN4660">4660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4661"><td class="num" id="LN4661">4661</td><td class="line"> container = panel_widget_new (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4662"><td class="num" id="LN4662">4662</td><td class="line"> !toplevel-&gt;priv-&gt;expand,</td></tr>
+<tr class="codeline" data-linenumber="4663"><td class="num" id="LN4663">4663</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="4664"><td class="num" id="LN4664">4664</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="4665"><td class="num" id="LN4665">4665</td><td class="line"> GTK_ORIENTATION_VERTICAL,</td></tr>
+<tr class="codeline" data-linenumber="4666"><td class="num" id="LN4666">4666</td><td class="line"> toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4667"><td class="num" id="LN4667">4667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4668"><td class="num" id="LN4668">4668</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>PANEL_WIDGET(container)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((panel_widget_get_type()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4669"><td class="num" id="LN4669">4669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4670"><td class="num" id="LN4670">4670</td><td class="line"> gtk_container_add(<span class='macro'>GTK_CONTAINER(toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_container_get_type<br> ()))))))</span></span>, container);</td></tr>
+<tr class="codeline" data-linenumber="4671"><td class="num" id="LN4671">4671</td><td class="line"> gtk_widget_show(container);</td></tr>
+<tr class="codeline" data-linenumber="4672"><td class="num" id="LN4672">4672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4673"><td class="num" id="LN4673">4673</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (toplevel)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_container_get_type ()))))))</span></span>, toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4674"><td class="num" id="LN4674">4674</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4675"><td class="num" id="LN4675">4675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4676"><td class="num" id="LN4676">4676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4677"><td class="num" id="LN4677">4677</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4678"><td class="num" id="LN4678">4678</td><td class="line">background_changed (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="4679"><td class="num" id="LN4679">4679</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4680"><td class="num" id="LN4680">4680</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4681"><td class="num" id="LN4681">4681</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4682"><td class="num" id="LN4682">4682</td><td class="line"> panel_widget_emit_background_changed (toplevel-&gt;priv-&gt;panel_widget);</td></tr>
+<tr class="codeline" data-linenumber="4683"><td class="num" id="LN4683">4683</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4684"><td class="num" id="LN4684">4684</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4685"><td class="num" id="LN4685">4685</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4686"><td class="num" id="LN4686">4686</td><td class="line">panel_toplevel_init (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4687"><td class="num" id="LN4687">4687</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4688"><td class="num" id="LN4688">4688</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="4689"><td class="num" id="LN4689">4689</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="4690"><td class="num" id="LN4690">4690</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4691"><td class="num" id="LN4691">4691</td><td class="line"> toplevel-&gt;priv = panel_toplevel_get_instance_private (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4692"><td class="num" id="LN4692">4692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4693"><td class="num" id="LN4693">4693</td><td class="line"> toplevel-&gt;priv-&gt;expand = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4694"><td class="num" id="LN4694">4694</td><td class="line"> toplevel-&gt;priv-&gt;orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="4695"><td class="num" id="LN4695">4695</td><td class="line"> toplevel-&gt;priv-&gt;size = <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4696"><td class="num" id="LN4696">4696</td><td class="line"> toplevel-&gt;priv-&gt;scale = gtk_widget_get_scale_factor (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4697"><td class="num" id="LN4697">4697</td><td class="line"> toplevel-&gt;priv-&gt;x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4698"><td class="num" id="LN4698">4698</td><td class="line"> toplevel-&gt;priv-&gt;y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4699"><td class="num" id="LN4699">4699</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4700"><td class="num" id="LN4700">4700</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4701"><td class="num" id="LN4701">4701</td><td class="line"> toplevel-&gt;priv-&gt;monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="4702"><td class="num" id="LN4702">4702</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = -1;</td></tr>
+<tr class="codeline" data-linenumber="4703"><td class="num" id="LN4703">4703</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4704"><td class="num" id="LN4704">4704</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4705"><td class="num" id="LN4705">4705</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4706"><td class="num" id="LN4706">4706</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = PANEL_ANIMATION_FAST;</td></tr>
+<tr class="codeline" data-linenumber="4707"><td class="num" id="LN4707">4707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4708"><td class="num" id="LN4708">4708</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4709"><td class="num" id="LN4709">4709</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4710"><td class="num" id="LN4710">4710</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4711"><td class="num" id="LN4711">4711</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="4712"><td class="num" id="LN4712">4712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4713"><td class="num" id="LN4713">4713</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4714"><td class="num" id="LN4714">4714</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4715"><td class="num" id="LN4715">4715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4716"><td class="num" id="LN4716">4716</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4717"><td class="num" id="LN4717">4717</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4718"><td class="num" id="LN4718">4718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4719"><td class="num" id="LN4719">4719</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = -1;</td></tr>
+<tr class="codeline" data-linenumber="4720"><td class="num" id="LN4720">4720</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = -1;</td></tr>
+<tr class="codeline" data-linenumber="4721"><td class="num" id="LN4721">4721</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4722"><td class="num" id="LN4722">4722</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4723"><td class="num" id="LN4723">4723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4724"><td class="num" id="LN4724">4724</td><td class="line"> toplevel-&gt;priv-&gt;original_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4725"><td class="num" id="LN4725">4725</td><td class="line"> toplevel-&gt;priv-&gt;original_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4726"><td class="num" id="LN4726">4726</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4727"><td class="num" id="LN4727">4727</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="4728"><td class="num" id="LN4728">4728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4729"><td class="num" id="LN4729">4729</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4730"><td class="num" id="LN4730">4730</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4731"><td class="num" id="LN4731">4731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4732"><td class="num" id="LN4732">4732</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4733"><td class="num" id="LN4733">4733</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4734"><td class="num" id="LN4734">4734</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0;</td></tr>
+<tr class="codeline" data-linenumber="4735"><td class="num" id="LN4735">4735</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0;</td></tr>
+<tr class="codeline" data-linenumber="4736"><td class="num" id="LN4736">4736</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4737"><td class="num" id="LN4737">4737</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4738"><td class="num" id="LN4738">4738</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4739"><td class="num" id="LN4739">4739</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4740"><td class="num" id="LN4740">4740</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4741"><td class="num" id="LN4741">4741</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4742"><td class="num" id="LN4742">4742</td><td class="line"> toplevel-&gt;priv-&gt;grid = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4743"><td class="num" id="LN4743">4743</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4744"><td class="num" id="LN4744">4744</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4745"><td class="num" id="LN4745">4745</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4746"><td class="num" id="LN4746">4746</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4747"><td class="num" id="LN4747">4747</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4748"><td class="num" id="LN4748">4748</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4749"><td class="num" id="LN4749">4749</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4750"><td class="num" id="LN4750">4750</td><td class="line"> toplevel-&gt;priv-&gt;n_autohide_disablers = 0;</td></tr>
+<tr class="codeline" data-linenumber="4751"><td class="num" id="LN4751">4751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4752"><td class="num" id="LN4752">4752</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4753"><td class="num" id="LN4753">4753</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4754"><td class="num" id="LN4754">4754</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4755"><td class="num" id="LN4755">4755</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4756"><td class="num" id="LN4756">4756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4757"><td class="num" id="LN4757">4757</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4758"><td class="num" id="LN4758">4758</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4759"><td class="num" id="LN4759">4759</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4760"><td class="num" id="LN4760">4760</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4761"><td class="num" id="LN4761">4761</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4762"><td class="num" id="LN4762">4762</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4763"><td class="num" id="LN4763">4763</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4764"><td class="num" id="LN4764">4764</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4765"><td class="num" id="LN4765">4765</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4766"><td class="num" id="LN4766">4766</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4767"><td class="num" id="LN4767">4767</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4768"><td class="num" id="LN4768">4768</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4769"><td class="num" id="LN4769">4769</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4770"><td class="num" id="LN4770">4770</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4771"><td class="num" id="LN4771">4771</td><td class="line"> gtk_widget_add_events (widget,</td></tr>
+<tr class="codeline" data-linenumber="4772"><td class="num" id="LN4772">4772</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4773"><td class="num" id="LN4773">4773</td><td class="line"> GDK_BUTTON_RELEASE_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4774"><td class="num" id="LN4774">4774</td><td class="line"> GDK_POINTER_MOTION_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4775"><td class="num" id="LN4775">4775</td><td class="line"> GDK_ENTER_NOTIFY_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4776"><td class="num" id="LN4776">4776</td><td class="line"> GDK_LEAVE_NOTIFY_MASK);</td></tr>
+<tr class="codeline" data-linenumber="4777"><td class="num" id="LN4777">4777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4778"><td class="num" id="LN4778">4778</td><td class="line"> gtk_widget_set_app_paintable (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4779"><td class="num" id="LN4779">4779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4780"><td class="num" id="LN4780">4780</td><td class="line"> panel_toplevel_setup_widgets (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4781"><td class="num" id="LN4781">4781</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4782"><td class="num" id="LN4782">4782</td><td class="line"> panel_toplevel_update_gtk_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4783"><td class="num" id="LN4783">4783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4784"><td class="num" id="LN4784">4784</td><td class="line"> toplevel_list = g_slist_prepend (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4785"><td class="num" id="LN4785">4785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4786"><td class="num" id="LN4786">4786</td><td class="line"> <span class='comment'>/* Prevent the window from being deleted via Alt+F4 by accident. This</span></td></tr>
+<tr class="codeline" data-linenumber="4787"><td class="num" id="LN4787">4787</td><td class="line"> <span class='comment'>* happens with "alternative" window managers such as Sawfish or XFWM4.</span></td></tr>
+<tr class="codeline" data-linenumber="4788"><td class="num" id="LN4788">4788</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="4789"><td class="num" id="LN4789">4789</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"delete-event"</span>, G_CALLBACK(gtk_true), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("delete-event"), (((GCallback<br>) (gtk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4790"><td class="num" id="LN4790">4790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4791"><td class="num" id="LN4791">4791</td><td class="line"> panel_background_init (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="4792"><td class="num" id="LN4792">4792</td><td class="line"> (PanelBackgroundChangedNotify) background_changed,</td></tr>
+<tr class="codeline" data-linenumber="4793"><td class="num" id="LN4793">4793</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4794"><td class="num" id="LN4794">4794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4795"><td class="num" id="LN4795">4795</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4796"><td class="num" id="LN4796">4796</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4797"><td class="num" id="LN4797">4797</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4798"><td class="num" id="LN4798">4798</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="4799"><td class="num" id="LN4799">4799</td><td class="line"> wayland_panel_toplevel_init (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4800"><td class="num" id="LN4800">4800</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4801"><td class="num" id="LN4801">4801</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="4802"><td class="num" id="LN4802">4802</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4803"><td class="num" id="LN4803">4803</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4804"><td class="num" id="LN4804">4804</td><td class="line">PanelWidget *</td></tr>
+<tr class="codeline" data-linenumber="4805"><td class="num" id="LN4805">4805</td><td class="line">panel_toplevel_get_panel_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4806"><td class="num" id="LN4806">4806</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4807"><td class="num" id="LN4807">4807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4808"><td class="num" id="LN4808">4808</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4809"><td class="num" id="LN4809">4809</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4810"><td class="num" id="LN4810">4810</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="4811"><td class="num" id="LN4811">4811</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4812"><td class="num" id="LN4812">4812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4813"><td class="num" id="LN4813">4813</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4814"><td class="num" id="LN4814">4814</td><td class="line">panel_toplevel_update_name (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4815"><td class="num" id="LN4815">4815</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4816"><td class="num" id="LN4816">4816</td><td class="line"> <span class='keyword'>char</span> *title;</td></tr>
+<tr class="codeline" data-linenumber="4817"><td class="num" id="LN4817">4817</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4818"><td class="num" id="LN4818">4818</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;description != NULL)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;description != ((void*)0)) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 4818<br>, ((const char*) (__func__)), "toplevel-&gt;priv-&gt;description != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4819"><td class="num" id="LN4819">4819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4820"><td class="num" id="LN4820">4820</td><td class="line"> title = toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name : toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4821"><td class="num" id="LN4821">4821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4822"><td class="num" id="LN4822">4822</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>, title);</td></tr>
+<tr class="codeline" data-linenumber="4823"><td class="num" id="LN4823">4823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4824"><td class="num" id="LN4824">4824</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="4825"><td class="num" id="LN4825">4825</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4826"><td class="num" id="LN4826">4826</td><td class="line"> title, toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="4827"><td class="num" id="LN4827">4827</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4828"><td class="num" id="LN4828">4828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4829"><td class="num" id="LN4829">4829</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4830"><td class="num" id="LN4830">4830</td><td class="line">panel_toplevel_set_name (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4831"><td class="num" id="LN4831">4831</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name)</td></tr>
+<tr class="codeline" data-linenumber="4832"><td class="num" id="LN4832">4832</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4833"><td class="num" id="LN4833">4833</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4834"><td class="num" id="LN4834">4834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4835"><td class="num" id="LN4835">4835</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name &amp;&amp; (!name || !name [0]))</td></tr>
+<tr class="codeline" data-linenumber="4836"><td class="num" id="LN4836">4836</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4837"><td class="num" id="LN4837">4837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4838"><td class="num" id="LN4838">4838</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;name &amp;&amp; name &amp;&amp; name [0] &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4839"><td class="num" id="LN4839">4839</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;name, name))</td></tr>
+<tr class="codeline" data-linenumber="4840"><td class="num" id="LN4840">4840</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4841"><td class="num" id="LN4841">4841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4842"><td class="num" id="LN4842">4842</td><td class="line"> g_free (toplevel-&gt;priv-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="4843"><td class="num" id="LN4843">4843</td><td class="line"> <span class='keyword'>if</span> (name &amp;&amp; name [0])</td></tr>
+<tr class="codeline" data-linenumber="4844"><td class="num" id="LN4844">4844</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>g_strdup (name)<span class='macro_popup'>g_strdup_inline (name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4845"><td class="num" id="LN4845">4845</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4846"><td class="num" id="LN4846">4846</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4847"><td class="num" id="LN4847">4847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4848"><td class="num" id="LN4848">4848</td><td class="line"> panel_toplevel_update_name (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4849"><td class="num" id="LN4849">4849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4850"><td class="num" id="LN4850">4850</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4851"><td class="num" id="LN4851">4851</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4852"><td class="num" id="LN4852">4852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4853"><td class="num" id="LN4853">4853</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4854"><td class="num" id="LN4854">4854</td><td class="line">panel_toplevel_set_settings_path (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4855"><td class="num" id="LN4855">4855</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *settings_path)</td></tr>
+<tr class="codeline" data-linenumber="4856"><td class="num" id="LN4856">4856</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4857"><td class="num" id="LN4857">4857</td><td class="line"> toplevel-&gt;priv-&gt;settings_path = <span class='macro'>g_strdup (settings_path)<span class='macro_popup'>g_strdup_inline (settings_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4858"><td class="num" id="LN4858">4858</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4859"><td class="num" id="LN4859">4859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4860"><td class="num" id="LN4860">4860</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_name(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4861"><td class="num" id="LN4861">4861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4862"><td class="num" id="LN4862">4862</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4863"><td class="num" id="LN4863">4863</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4864"><td class="num" id="LN4864">4864</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;name;</td></tr>
+<tr class="codeline" data-linenumber="4865"><td class="num" id="LN4865">4865</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4866"><td class="num" id="LN4866">4866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4867"><td class="num" id="LN4867">4867</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4868"><td class="num" id="LN4868">4868</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4869"><td class="num" id="LN4869">4869</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4870"><td class="num" id="LN4870">4870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4871"><td class="num" id="LN4871">4871</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4872"><td class="num" id="LN4872">4872</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4873"><td class="num" id="LN4873">4873</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4874"><td class="num" id="LN4874">4874</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4875"><td class="num" id="LN4875">4875</td><td class="line">panel_toplevel_set_expand (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4876"><td class="num" id="LN4876">4876</td><td class="line"> gboolean expand)</td></tr>
+<tr class="codeline" data-linenumber="4877"><td class="num" id="LN4877">4877</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4878"><td class="num" id="LN4878">4878</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4879"><td class="num" id="LN4879">4879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4880"><td class="num" id="LN4880">4880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; expand) {</td></tr>
+<tr class="codeline" data-linenumber="4881"><td class="num" id="LN4881">4881</td><td class="line"> g_warning (<span class='string_literal'>"attempt to expand attached toplevel; ignoring"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4882"><td class="num" id="LN4882">4882</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4883"><td class="num" id="LN4883">4883</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4884"><td class="num" id="LN4884">4884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4885"><td class="num" id="LN4885">4885</td><td class="line"> expand = expand != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4886"><td class="num" id="LN4886">4886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4887"><td class="num" id="LN4887">4887</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand == expand)</td></tr>
+<tr class="codeline" data-linenumber="4888"><td class="num" id="LN4888">4888</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4889"><td class="num" id="LN4889">4889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4890"><td class="num" id="LN4890">4890</td><td class="line"> toplevel-&gt;priv-&gt;expand = expand;</td></tr>
+<tr class="codeline" data-linenumber="4891"><td class="num" id="LN4891">4891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4892"><td class="num" id="LN4892">4892</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp; toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4893"><td class="num" id="LN4893">4893</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="4894"><td class="num" id="LN4894">4894</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="4895"><td class="num" id="LN4895">4895</td><td class="line"> panel_toplevel_set_x (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4896"><td class="num" id="LN4896">4896</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4897"><td class="num" id="LN4897">4897</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4898"><td class="num" id="LN4898">4898</td><td class="line"> panel_toplevel_set_x (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4899"><td class="num" id="LN4899">4899</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4900"><td class="num" id="LN4900">4900</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="4901"><td class="num" id="LN4901">4901</td><td class="line"> panel_toplevel_set_y (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4902"><td class="num" id="LN4902">4902</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4903"><td class="num" id="LN4903">4903</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4904"><td class="num" id="LN4904">4904</td><td class="line"> panel_toplevel_set_y (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4905"><td class="num" id="LN4905">4905</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4906"><td class="num" id="LN4906">4906</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4907"><td class="num" id="LN4907">4907</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 4907, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4908"><td class="num" id="LN4908">4908</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4909"><td class="num" id="LN4909">4909</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4910"><td class="num" id="LN4910">4910</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4911"><td class="num" id="LN4911">4911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4912"><td class="num" id="LN4912">4912</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4913"><td class="num" id="LN4913">4913</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4914"><td class="num" id="LN4914">4914</td><td class="line"> panel_widget_set_packed (toplevel-&gt;priv-&gt;panel_widget, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4915"><td class="num" id="LN4915">4915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4916"><td class="num" id="LN4916">4916</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"expand"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4917"><td class="num" id="LN4917">4917</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4918"><td class="num" id="LN4918">4918</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4919"><td class="num" id="LN4919">4919</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4920"><td class="num" id="LN4920">4920</td><td class="line">panel_toplevel_get_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4921"><td class="num" id="LN4921">4921</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4922"><td class="num" id="LN4922">4922</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4923"><td class="num" id="LN4923">4923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4924"><td class="num" id="LN4924">4924</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;expand;</td></tr>
+<tr class="codeline" data-linenumber="4925"><td class="num" id="LN4925">4925</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4926"><td class="num" id="LN4926">4926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4927"><td class="num" id="LN4927">4927</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4928"><td class="num" id="LN4928">4928</td><td class="line">panel_toplevel_get_is_floating (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4929"><td class="num" id="LN4929">4929</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4930"><td class="num" id="LN4930">4930</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4931"><td class="num" id="LN4931">4931</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4932"><td class="num" id="LN4932">4932</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;floating;</td></tr>
+<tr class="codeline" data-linenumber="4933"><td class="num" id="LN4933">4933</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4934"><td class="num" id="LN4934">4934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4935"><td class="num" id="LN4935">4935</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4936"><td class="num" id="LN4936">4936</td><td class="line">panel_toplevel_set_orientation (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4937"><td class="num" id="LN4937">4937</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="4938"><td class="num" id="LN4938">4938</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4939"><td class="num" id="LN4939">4939</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="4940"><td class="num" id="LN4940">4940</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="4941"><td class="num" id="LN4941">4941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4942"><td class="num" id="LN4942">4942</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4943"><td class="num" id="LN4943">4943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4944"><td class="num" id="LN4944">4944</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation == orientation)</td></tr>
+<tr class="codeline" data-linenumber="4945"><td class="num" id="LN4945">4945</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4946"><td class="num" id="LN4946">4946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4947"><td class="num" id="LN4947">4947</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4948"><td class="num" id="LN4948">4948</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4949"><td class="num" id="LN4949">4949</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="4950"><td class="num" id="LN4950">4950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4951"><td class="num" id="LN4951">4951</td><td class="line"> <span class='comment'>/* Un-snap from center if no longer along screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="4952"><td class="num" id="LN4952">4952</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4953"><td class="num" id="LN4953">4953</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4954"><td class="num" id="LN4954">4954</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4955"><td class="num" id="LN4955">4955</td><td class="line"> toplevel-&gt;priv-&gt;x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4956"><td class="num" id="LN4956">4956</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4957"><td class="num" id="LN4957">4957</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4958"><td class="num" id="LN4958">4958</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4959"><td class="num" id="LN4959">4959</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4960"><td class="num" id="LN4960">4960</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4961"><td class="num" id="LN4961">4961</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4962"><td class="num" id="LN4962">4962</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4963"><td class="num" id="LN4963">4963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4964"><td class="num" id="LN4964">4964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4965"><td class="num" id="LN4965">4965</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4966"><td class="num" id="LN4966">4966</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4967"><td class="num" id="LN4967">4967</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4968"><td class="num" id="LN4968">4968</td><td class="line"> toplevel-&gt;priv-&gt;y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4969"><td class="num" id="LN4969">4969</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4970"><td class="num" id="LN4970">4970</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4971"><td class="num" id="LN4971">4971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4972"><td class="num" id="LN4972">4972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4973"><td class="num" id="LN4973">4973</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4974"><td class="num" id="LN4974">4974</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4975"><td class="num" id="LN4975">4975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4976"><td class="num" id="LN4976">4976</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4977"><td class="num" id="LN4977">4977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4978"><td class="num" id="LN4978">4978</td><td class="line"> rotate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4979"><td class="num" id="LN4979">4979</td><td class="line"> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4980"><td class="num" id="LN4980">4980</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4981"><td class="num" id="LN4981">4981</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4982"><td class="num" id="LN4982">4982</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4983"><td class="num" id="LN4983">4983</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4984"><td class="num" id="LN4984">4984</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4985"><td class="num" id="LN4985">4985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4986"><td class="num" id="LN4986">4986</td><td class="line"> <span class='comment'>/* rotate around the center */</span></td></tr>
+<tr class="codeline" data-linenumber="4987"><td class="num" id="LN4987">4987</td><td class="line"> <span class='keyword'>if</span> (rotate &amp;&amp; !toplevel-&gt;priv-&gt;position_centered &amp;&amp; !toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4988"><td class="num" id="LN4988">4988</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4989"><td class="num" id="LN4989">4989</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4990"><td class="num" id="LN4990">4990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4991"><td class="num" id="LN4991">4991</td><td class="line"> <span class='comment'>/* x, y temporary refer to the panel center, so we don't care</span></td></tr>
+<tr class="codeline" data-linenumber="4992"><td class="num" id="LN4992">4992</td><td class="line"> <span class='comment'>* about x_right, y_bottom. Those will get updated in</span></td></tr>
+<tr class="codeline" data-linenumber="4993"><td class="num" id="LN4993">4993</td><td class="line"> <span class='comment'>* panel_toplevel_update_position() accordingly. */</span></td></tr>
+<tr class="codeline" data-linenumber="4994"><td class="num" id="LN4994">4994</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="4995"><td class="num" id="LN4995">4995</td><td class="line"> toplevel-&gt;priv-&gt;x += toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="4996"><td class="num" id="LN4996">4996</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4997"><td class="num" id="LN4997">4997</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4998"><td class="num" id="LN4998">4998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4999"><td class="num" id="LN4999">4999</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5000"><td class="num" id="LN5000">5000</td><td class="line"> toplevel-&gt;priv-&gt;y += toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="5001"><td class="num" id="LN5001">5001</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5002"><td class="num" id="LN5002">5002</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5003"><td class="num" id="LN5003">5003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5004"><td class="num" id="LN5004">5004</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5005"><td class="num" id="LN5005">5005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5006"><td class="num" id="LN5006">5006</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="5007"><td class="num" id="LN5007">5007</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5008"><td class="num" id="LN5008">5008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5009"><td class="num" id="LN5009">5009</td><td class="line"> gtk_widget_reset_style (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5010"><td class="num" id="LN5010">5010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5011"><td class="num" id="LN5011">5011</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5012"><td class="num" id="LN5012">5012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5013"><td class="num" id="LN5013">5013</td><td class="line"> panel_widget_set_orientation (</td></tr>
+<tr class="codeline" data-linenumber="5014"><td class="num" id="LN5014">5014</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="5015"><td class="num" id="LN5015">5015</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="5016"><td class="num" id="LN5016">5016</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="5017"><td class="num" id="LN5017">5017</td><td class="line"> GTK_ORIENTATION_VERTICAL);</td></tr>
+<tr class="codeline" data-linenumber="5018"><td class="num" id="LN5018">5018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5019"><td class="num" id="LN5019">5019</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="5020"><td class="num" id="LN5020">5020</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="5021"><td class="num" id="LN5021">5021</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5022"><td class="num" id="LN5022">5022</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5023"><td class="num" id="LN5023">5023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5024"><td class="num" id="LN5024">5024</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="5025"><td class="num" id="LN5025">5025</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5026"><td class="num" id="LN5026">5026</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="5027"><td class="num" id="LN5027">5027</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5028"><td class="num" id="LN5028">5028</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="5029"><td class="num" id="LN5029">5029</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5030"><td class="num" id="LN5030">5030</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="5031"><td class="num" id="LN5031">5031</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5032"><td class="num" id="LN5032">5032</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="5033"><td class="num" id="LN5033">5033</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5034"><td class="num" id="LN5034">5034</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="5035"><td class="num" id="LN5035">5035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5036"><td class="num" id="LN5036">5036</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="5037"><td class="num" id="LN5037">5037</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5038"><td class="num" id="LN5038">5038</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5039"><td class="num" id="LN5039">5039</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5040"><td class="num" id="LN5040">5040</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5041"><td class="num" id="LN5041">5041</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5042"><td class="num" id="LN5042">5042</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5043"><td class="num" id="LN5043">5043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5044"><td class="num" id="LN5044">5044</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5045"><td class="num" id="LN5045">5045</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5046"><td class="num" id="LN5046">5046</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="5047"><td class="num" id="LN5047">5047</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="5048"><td class="num" id="LN5048">5048</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5049"><td class="num" id="LN5049">5049</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5050"><td class="num" id="LN5050">5050</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="5051"><td class="num" id="LN5051">5051</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5052"><td class="num" id="LN5052">5052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5053"><td class="num" id="LN5053">5053</td><td class="line">PanelOrientation</td></tr>
+<tr class="codeline" data-linenumber="5054"><td class="num" id="LN5054">5054</td><td class="line">panel_toplevel_get_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5055"><td class="num" id="LN5055">5055</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5056"><td class="num" id="LN5056">5056</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), PANEL_ORIENTATION_TOP)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (PANEL_ORIENTATION_TOP<br>); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5057"><td class="num" id="LN5057">5057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5058"><td class="num" id="LN5058">5058</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5059"><td class="num" id="LN5059">5059</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5060"><td class="num" id="LN5060">5060</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5061"><td class="num" id="LN5061">5061</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5062"><td class="num" id="LN5062">5062</td><td class="line">panel_toplevel_set_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5063"><td class="num" id="LN5063">5063</td><td class="line"> <span class='keyword'>int</span> size)</td></tr>
+<tr class="codeline" data-linenumber="5064"><td class="num" id="LN5064">5064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5065"><td class="num" id="LN5065">5065</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5066"><td class="num" id="LN5066">5066</td><td class="line"> <span class='macro'>g_return_if_fail (size &gt;= 0)<span class='macro_popup'>do { if ((size &gt;= 0)) { } else { g_return_if_fail_warning (<br>((gchar*) 0), ((const char*) (__func__)), "size &gt;= 0"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5067"><td class="num" id="LN5067">5067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5068"><td class="num" id="LN5068">5068</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="5069"><td class="num" id="LN5069">5069</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5070"><td class="num" id="LN5070">5070</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5071"><td class="num" id="LN5071">5071</td><td class="line"> toplevel-&gt;priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="5072"><td class="num" id="LN5072">5072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5073"><td class="num" id="LN5073">5073</td><td class="line"> panel_widget_set_size (toplevel-&gt;priv-&gt;panel_widget, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="5074"><td class="num" id="LN5074">5074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5075"><td class="num" id="LN5075">5075</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5076"><td class="num" id="LN5076">5076</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5077"><td class="num" id="LN5077">5077</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5078"><td class="num" id="LN5078">5078</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5079"><td class="num" id="LN5079">5079</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5080"><td class="num" id="LN5080">5080</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5081"><td class="num" id="LN5081">5081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5082"><td class="num" id="LN5082">5082</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5083"><td class="num" id="LN5083">5083</td><td class="line">panel_toplevel_get_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5084"><td class="num" id="LN5084">5084</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5085"><td class="num" id="LN5085">5085</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (48); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5086"><td class="num" id="LN5086">5086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5087"><td class="num" id="LN5087">5087</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="5088"><td class="num" id="LN5088">5088</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5089"><td class="num" id="LN5089">5089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5090"><td class="num" id="LN5090">5090</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5091"><td class="num" id="LN5091">5091</td><td class="line">panel_toplevel_set_auto_hide_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5092"><td class="num" id="LN5092">5092</td><td class="line"> <span class='keyword'>int</span> auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5093"><td class="num" id="LN5093">5093</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5094"><td class="num" id="LN5094">5094</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5095"><td class="num" id="LN5095">5095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5096"><td class="num" id="LN5096">5096</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide_size == auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5097"><td class="num" id="LN5097">5097</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5098"><td class="num" id="LN5098">5098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5099"><td class="num" id="LN5099">5099</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5100"><td class="num" id="LN5100">5100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5101"><td class="num" id="LN5101">5101</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="5102"><td class="num" id="LN5102">5102</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="5103"><td class="num" id="LN5103">5103</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate) {</td></tr>
+<tr class="codeline" data-linenumber="5104"><td class="num" id="LN5104">5104</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5105"><td class="num" id="LN5105">5105</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="5106"><td class="num" id="LN5106">5106</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5107"><td class="num" id="LN5107">5107</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5108"><td class="num" id="LN5108">5108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5109"><td class="num" id="LN5109">5109</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5110"><td class="num" id="LN5110">5110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5111"><td class="num" id="LN5111">5111</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide-size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5112"><td class="num" id="LN5112">5112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5113"><td class="num" id="LN5113">5113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5114"><td class="num" id="LN5114">5114</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5115"><td class="num" id="LN5115">5115</td><td class="line">panel_toplevel_get_auto_hide_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5116"><td class="num" id="LN5116">5116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5117"><td class="num" id="LN5117">5117</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_AUTO_HIDE_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5118"><td class="num" id="LN5118">5118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5119"><td class="num" id="LN5119">5119</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5120"><td class="num" id="LN5120">5120</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5121"><td class="num" id="LN5121">5121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5122"><td class="num" id="LN5122">5122</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5123"><td class="num" id="LN5123">5123</td><td class="line">panel_toplevel_set_x (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5124"><td class="num" id="LN5124">5124</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="5125"><td class="num" id="LN5125">5125</td><td class="line"> <span class='keyword'>int</span> x_right,</td></tr>
+<tr class="codeline" data-linenumber="5126"><td class="num" id="LN5126">5126</td><td class="line"> gboolean x_centered)</td></tr>
+<tr class="codeline" data-linenumber="5127"><td class="num" id="LN5127">5127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5128"><td class="num" id="LN5128">5128</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5129"><td class="num" id="LN5129">5129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5130"><td class="num" id="LN5130">5130</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5131"><td class="num" id="LN5131">5131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5132"><td class="num" id="LN5132">5132</td><td class="line"> x_centered = x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5133"><td class="num" id="LN5133">5133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5134"><td class="num" id="LN5134">5134</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5135"><td class="num" id="LN5135">5135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5136"><td class="num" id="LN5136">5136</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="5137"><td class="num" id="LN5137">5137</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="5138"><td class="num" id="LN5138">5138</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5139"><td class="num" id="LN5139">5139</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5140"><td class="num" id="LN5140">5140</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5141"><td class="num" id="LN5141">5141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5142"><td class="num" id="LN5142">5142</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="5143"><td class="num" id="LN5143">5143</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="5144"><td class="num" id="LN5144">5144</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5145"><td class="num" id="LN5145">5145</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5146"><td class="num" id="LN5146">5146</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5147"><td class="num" id="LN5147">5147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5148"><td class="num" id="LN5148">5148</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered != x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5149"><td class="num" id="LN5149">5149</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = (x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5150"><td class="num" id="LN5150">5150</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5151"><td class="num" id="LN5151">5151</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5152"><td class="num" id="LN5152">5152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5153"><td class="num" id="LN5153">5153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5154"><td class="num" id="LN5154">5154</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5155"><td class="num" id="LN5155">5155</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5156"><td class="num" id="LN5156">5156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5157"><td class="num" id="LN5157">5157</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5158"><td class="num" id="LN5158">5158</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5159"><td class="num" id="LN5159">5159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5160"><td class="num" id="LN5160">5160</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5161"><td class="num" id="LN5161">5161</td><td class="line">panel_toplevel_set_y (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5162"><td class="num" id="LN5162">5162</td><td class="line"> <span class='keyword'>int</span> y,</td></tr>
+<tr class="codeline" data-linenumber="5163"><td class="num" id="LN5163">5163</td><td class="line"> <span class='keyword'>int</span> y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="5164"><td class="num" id="LN5164">5164</td><td class="line"> gboolean y_centered)</td></tr>
+<tr class="codeline" data-linenumber="5165"><td class="num" id="LN5165">5165</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5166"><td class="num" id="LN5166">5166</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5167"><td class="num" id="LN5167">5167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5168"><td class="num" id="LN5168">5168</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5169"><td class="num" id="LN5169">5169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5170"><td class="num" id="LN5170">5170</td><td class="line"> y_centered = y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5171"><td class="num" id="LN5171">5171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5172"><td class="num" id="LN5172">5172</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5173"><td class="num" id="LN5173">5173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5174"><td class="num" id="LN5174">5174</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="5175"><td class="num" id="LN5175">5175</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="5176"><td class="num" id="LN5176">5176</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5177"><td class="num" id="LN5177">5177</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5178"><td class="num" id="LN5178">5178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5179"><td class="num" id="LN5179">5179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5180"><td class="num" id="LN5180">5180</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="5181"><td class="num" id="LN5181">5181</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5182"><td class="num" id="LN5182">5182</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5183"><td class="num" id="LN5183">5183</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5184"><td class="num" id="LN5184">5184</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5185"><td class="num" id="LN5185">5185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5186"><td class="num" id="LN5186">5186</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered != y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5187"><td class="num" id="LN5187">5187</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = (y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5188"><td class="num" id="LN5188">5188</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5189"><td class="num" id="LN5189">5189</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5190"><td class="num" id="LN5190">5190</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5191"><td class="num" id="LN5191">5191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5192"><td class="num" id="LN5192">5192</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5193"><td class="num" id="LN5193">5193</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5194"><td class="num" id="LN5194">5194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5195"><td class="num" id="LN5195">5195</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5196"><td class="num" id="LN5196">5196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5197"><td class="num" id="LN5197">5197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5198"><td class="num" id="LN5198">5198</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5199"><td class="num" id="LN5199">5199</td><td class="line">panel_toplevel_get_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5200"><td class="num" id="LN5200">5200</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="5201"><td class="num" id="LN5201">5201</td><td class="line"> <span class='keyword'>int</span> *x_right,</td></tr>
+<tr class="codeline" data-linenumber="5202"><td class="num" id="LN5202">5202</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="5203"><td class="num" id="LN5203">5203</td><td class="line"> <span class='keyword'>int</span> *y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5204"><td class="num" id="LN5204">5204</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5205"><td class="num" id="LN5205">5205</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5206"><td class="num" id="LN5206">5206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5207"><td class="num" id="LN5207">5207</td><td class="line"> <span class='keyword'>if</span> (x)</td></tr>
+<tr class="codeline" data-linenumber="5208"><td class="num" id="LN5208">5208</td><td class="line"> *x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="5209"><td class="num" id="LN5209">5209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5210"><td class="num" id="LN5210">5210</td><td class="line"> <span class='keyword'>if</span> (y)</td></tr>
+<tr class="codeline" data-linenumber="5211"><td class="num" id="LN5211">5211</td><td class="line"> *y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="5212"><td class="num" id="LN5212">5212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5213"><td class="num" id="LN5213">5213</td><td class="line"> <span class='keyword'>if</span> (x_right)</td></tr>
+<tr class="codeline" data-linenumber="5214"><td class="num" id="LN5214">5214</td><td class="line"> *x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="5215"><td class="num" id="LN5215">5215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5216"><td class="num" id="LN5216">5216</td><td class="line"> <span class='keyword'>if</span> (y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5217"><td class="num" id="LN5217">5217</td><td class="line"> *y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5218"><td class="num" id="LN5218">5218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5219"><td class="num" id="LN5219">5219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5220"><td class="num" id="LN5220">5220</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5221"><td class="num" id="LN5221">5221</td><td class="line">panel_toplevel_get_x_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5222"><td class="num" id="LN5222">5222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5223"><td class="num" id="LN5223">5223</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5224"><td class="num" id="LN5224">5224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5225"><td class="num" id="LN5225">5225</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="5226"><td class="num" id="LN5226">5226</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5227"><td class="num" id="LN5227">5227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5228"><td class="num" id="LN5228">5228</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5229"><td class="num" id="LN5229">5229</td><td class="line">panel_toplevel_get_y_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5230"><td class="num" id="LN5230">5230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5231"><td class="num" id="LN5231">5231</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5232"><td class="num" id="LN5232">5232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5233"><td class="num" id="LN5233">5233</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="5234"><td class="num" id="LN5234">5234</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5235"><td class="num" id="LN5235">5235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5236"><td class="num" id="LN5236">5236</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5237"><td class="num" id="LN5237">5237</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal:</span></td></tr>
+<tr class="codeline" data-linenumber="5238"><td class="num" id="LN5238">5238</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5239"><td class="num" id="LN5239">5239</td><td class="line"> <span class='comment'>* Sets the monitor of the toplevel, but only the internal state. We need to</span></td></tr>
+<tr class="codeline" data-linenumber="5240"><td class="num" id="LN5240">5240</td><td class="line"> <span class='comment'>* make the difference between the internal state and the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5241"><td class="num" id="LN5241">5241</td><td class="line"> <span class='comment'>* user because internal constraints might affect the monitor of the toplevel.</span></td></tr>
+<tr class="codeline" data-linenumber="5242"><td class="num" id="LN5242">5242</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5243"><td class="num" id="LN5243">5243</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal() won't update the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5244"><td class="num" id="LN5244">5244</td><td class="line"> <span class='comment'>* user.</span></td></tr>
+<tr class="codeline" data-linenumber="5245"><td class="num" id="LN5245">5245</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5246"><td class="num" id="LN5246">5246</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5247"><td class="num" id="LN5247">5247</td><td class="line">panel_toplevel_set_monitor_internal (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5248"><td class="num" id="LN5248">5248</td><td class="line"> <span class='keyword'>int</span> monitor,</td></tr>
+<tr class="codeline" data-linenumber="5249"><td class="num" id="LN5249">5249</td><td class="line"> gboolean force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5250"><td class="num" id="LN5250">5250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5251"><td class="num" id="LN5251">5251</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5252"><td class="num" id="LN5252">5252</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5253"><td class="num" id="LN5253">5253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5254"><td class="num" id="LN5254">5254</td><td class="line"> toplevel-&gt;priv-&gt;monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5255"><td class="num" id="LN5255">5255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5256"><td class="num" id="LN5256">5256</td><td class="line"> <span class='keyword'>if</span> (force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5257"><td class="num" id="LN5257">5257</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5258"><td class="num" id="LN5258">5258</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5259"><td class="num" id="LN5259">5259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5260"><td class="num" id="LN5260">5260</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5261"><td class="num" id="LN5261">5261</td><td class="line"> <span class='comment'>* panel_toplevel_update_monitor:</span></td></tr>
+<tr class="codeline" data-linenumber="5262"><td class="num" id="LN5262">5262</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5263"><td class="num" id="LN5263">5263</td><td class="line"> <span class='comment'>* Moves the toplevel to its configured monitor or the first one, if needed.</span></td></tr>
+<tr class="codeline" data-linenumber="5264"><td class="num" id="LN5264">5264</td><td class="line"> <span class='comment'>* This generally happens when the configured monitor was non-existing before,</span></td></tr>
+<tr class="codeline" data-linenumber="5265"><td class="num" id="LN5265">5265</td><td class="line"> <span class='comment'>* and it appeared at runtime, or if it was existing and disappeared.</span></td></tr>
+<tr class="codeline" data-linenumber="5266"><td class="num" id="LN5266">5266</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5267"><td class="num" id="LN5267">5267</td><td class="line"> <span class='comment'>* This must only be called at the beginning of the size request of the</span></td></tr>
+<tr class="codeline" data-linenumber="5268"><td class="num" id="LN5268">5268</td><td class="line"> <span class='comment'>* toplevel because it doesn't queue a size request.</span></td></tr>
+<tr class="codeline" data-linenumber="5269"><td class="num" id="LN5269">5269</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5270"><td class="num" id="LN5270">5270</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5271"><td class="num" id="LN5271">5271</td><td class="line">panel_toplevel_update_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5272"><td class="num" id="LN5272">5272</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5273"><td class="num" id="LN5273">5273</td><td class="line"> <span class='comment'>/* If we were not using the configured monitor, can we use it now? */</span></td></tr>
+<tr class="codeline" data-linenumber="5274"><td class="num" id="LN5274">5274</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;configured_monitor != -1) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5275"><td class="num" id="LN5275">5275</td><td class="line"> (toplevel-&gt;priv-&gt;configured_monitor != toplevel-&gt;priv-&gt;monitor) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5276"><td class="num" id="LN5276">5276</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor &lt; panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5277"><td class="num" id="LN5277">5277</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5278"><td class="num" id="LN5278">5278</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor,</td></tr>
+<tr class="codeline" data-linenumber="5279"><td class="num" id="LN5279">5279</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5280"><td class="num" id="LN5280">5280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5281"><td class="num" id="LN5281">5281</td><td class="line"> <span class='comment'>/* else, can we still use the monitor we were using? */</span></td></tr>
+<tr class="codeline" data-linenumber="5282"><td class="num" id="LN5282">5282</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor &gt;= panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5283"><td class="num" id="LN5283">5283</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5284"><td class="num" id="LN5284">5284</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="5285"><td class="num" id="LN5285">5285</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5286"><td class="num" id="LN5286">5286</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5287"><td class="num" id="LN5287">5287</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5288"><td class="num" id="LN5288">5288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5289"><td class="num" id="LN5289">5289</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5290"><td class="num" id="LN5290">5290</td><td class="line">panel_toplevel_set_monitor (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5291"><td class="num" id="LN5291">5291</td><td class="line"> <span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="5292"><td class="num" id="LN5292">5292</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5293"><td class="num" id="LN5293">5293</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5294"><td class="num" id="LN5294">5294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5295"><td class="num" id="LN5295">5295</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;configured_monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5296"><td class="num" id="LN5296">5296</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5297"><td class="num" id="LN5297">5297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5298"><td class="num" id="LN5298">5298</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5299"><td class="num" id="LN5299">5299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5300"><td class="num" id="LN5300">5300</td><td class="line"> <span class='comment'>/* Only use the configured monitor if it's existing. Else, we ignore</span></td></tr>
+<tr class="codeline" data-linenumber="5301"><td class="num" id="LN5301">5301</td><td class="line"> <span class='comment'>* the non-existing monitor, and keep the old one. The main use case is</span></td></tr>
+<tr class="codeline" data-linenumber="5302"><td class="num" id="LN5302">5302</td><td class="line"> <span class='comment'>* when logging in after having used a multimonitor environment.</span></td></tr>
+<tr class="codeline" data-linenumber="5303"><td class="num" id="LN5303">5303</td><td class="line"> <span class='comment'>* We will put the panel on the monitor 0 for this session, and it will</span></td></tr>
+<tr class="codeline" data-linenumber="5304"><td class="num" id="LN5304">5304</td><td class="line"> <span class='comment'>* move back to the right monitor next time. */</span></td></tr>
+<tr class="codeline" data-linenumber="5305"><td class="num" id="LN5305">5305</td><td class="line"> <span class='keyword'>if</span> (monitor &lt; panel_multimonitor_monitors ())</td></tr>
+<tr class="codeline" data-linenumber="5306"><td class="num" id="LN5306">5306</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5307"><td class="num" id="LN5307">5307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5308"><td class="num" id="LN5308">5308</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"monitor"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5309"><td class="num" id="LN5309">5309</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5310"><td class="num" id="LN5310">5310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5311"><td class="num" id="LN5311">5311</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5312"><td class="num" id="LN5312">5312</td><td class="line">panel_toplevel_get_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5313"><td class="num" id="LN5313">5313</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5314"><td class="num" id="LN5314">5314</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5315"><td class="num" id="LN5315">5315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5316"><td class="num" id="LN5316">5316</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="5317"><td class="num" id="LN5317">5317</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5318"><td class="num" id="LN5318">5318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5319"><td class="num" id="LN5319">5319</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5320"><td class="num" id="LN5320">5320</td><td class="line">panel_toplevel_set_auto_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5321"><td class="num" id="LN5321">5321</td><td class="line"> gboolean auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5322"><td class="num" id="LN5322">5322</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5323"><td class="num" id="LN5323">5323</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5324"><td class="num" id="LN5324">5324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5325"><td class="num" id="LN5325">5325</td><td class="line"> auto_hide = auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5326"><td class="num" id="LN5326">5326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5327"><td class="num" id="LN5327">5327</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide == auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5328"><td class="num" id="LN5328">5328</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5329"><td class="num" id="LN5329">5329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5330"><td class="num" id="LN5330">5330</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = (auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5331"><td class="num" id="LN5331">5331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5332"><td class="num" id="LN5332">5332</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5333"><td class="num" id="LN5333">5333</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5334"><td class="num" id="LN5334">5334</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5335"><td class="num" id="LN5335">5335</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5336"><td class="num" id="LN5336">5336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5337"><td class="num" id="LN5337">5337</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="5338"><td class="num" id="LN5338">5338</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5339"><td class="num" id="LN5339">5339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5340"><td class="num" id="LN5340">5340</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5341"><td class="num" id="LN5341">5341</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5342"><td class="num" id="LN5342">5342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5343"><td class="num" id="LN5343">5343</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5344"><td class="num" id="LN5344">5344</td><td class="line">panel_toplevel_get_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5345"><td class="num" id="LN5345">5345</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5346"><td class="num" id="LN5346">5346</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5347"><td class="num" id="LN5347">5347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5348"><td class="num" id="LN5348">5348</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide;</td></tr>
+<tr class="codeline" data-linenumber="5349"><td class="num" id="LN5349">5349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5350"><td class="num" id="LN5350">5350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5351"><td class="num" id="LN5351">5351</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5352"><td class="num" id="LN5352">5352</td><td class="line">panel_toplevel_set_hide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5353"><td class="num" id="LN5353">5353</td><td class="line"> <span class='keyword'>int</span> hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5354"><td class="num" id="LN5354">5354</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5355"><td class="num" id="LN5355">5355</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5356"><td class="num" id="LN5356">5356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5357"><td class="num" id="LN5357">5357</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay == hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5358"><td class="num" id="LN5358">5358</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5359"><td class="num" id="LN5359">5359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5360"><td class="num" id="LN5360">5360</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5361"><td class="num" id="LN5361">5361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5362"><td class="num" id="LN5362">5362</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"hide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5363"><td class="num" id="LN5363">5363</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5364"><td class="num" id="LN5364">5364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5365"><td class="num" id="LN5365">5365</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5366"><td class="num" id="LN5366">5366</td><td class="line">panel_toplevel_get_hide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5367"><td class="num" id="LN5367">5367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5368"><td class="num" id="LN5368">5368</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5369"><td class="num" id="LN5369">5369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5370"><td class="num" id="LN5370">5370</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5371"><td class="num" id="LN5371">5371</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5372"><td class="num" id="LN5372">5372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5373"><td class="num" id="LN5373">5373</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5374"><td class="num" id="LN5374">5374</td><td class="line">panel_toplevel_set_unhide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5375"><td class="num" id="LN5375">5375</td><td class="line"> <span class='keyword'>int</span> unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5376"><td class="num" id="LN5376">5376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5377"><td class="num" id="LN5377">5377</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5378"><td class="num" id="LN5378">5378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5379"><td class="num" id="LN5379">5379</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay == unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5380"><td class="num" id="LN5380">5380</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5381"><td class="num" id="LN5381">5381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5382"><td class="num" id="LN5382">5382</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5383"><td class="num" id="LN5383">5383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5384"><td class="num" id="LN5384">5384</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"unhide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5385"><td class="num" id="LN5385">5385</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5386"><td class="num" id="LN5386">5386</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5387"><td class="num" id="LN5387">5387</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5388"><td class="num" id="LN5388">5388</td><td class="line">panel_toplevel_get_unhide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5389"><td class="num" id="LN5389">5389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5390"><td class="num" id="LN5390">5390</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5391"><td class="num" id="LN5391">5391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5392"><td class="num" id="LN5392">5392</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5393"><td class="num" id="LN5393">5393</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5394"><td class="num" id="LN5394">5394</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5395"><td class="num" id="LN5395">5395</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5396"><td class="num" id="LN5396">5396</td><td class="line">panel_toplevel_set_animate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5397"><td class="num" id="LN5397">5397</td><td class="line"> gboolean animate)</td></tr>
+<tr class="codeline" data-linenumber="5398"><td class="num" id="LN5398">5398</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5399"><td class="num" id="LN5399">5399</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5400"><td class="num" id="LN5400">5400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5401"><td class="num" id="LN5401">5401</td><td class="line"> animate = animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5402"><td class="num" id="LN5402">5402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5403"><td class="num" id="LN5403">5403</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate == animate)</td></tr>
+<tr class="codeline" data-linenumber="5404"><td class="num" id="LN5404">5404</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5405"><td class="num" id="LN5405">5405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5406"><td class="num" id="LN5406">5406</td><td class="line"> toplevel-&gt;priv-&gt;animate = (animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5407"><td class="num" id="LN5407">5407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5408"><td class="num" id="LN5408">5408</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animate"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5409"><td class="num" id="LN5409">5409</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5410"><td class="num" id="LN5410">5410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5411"><td class="num" id="LN5411">5411</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5412"><td class="num" id="LN5412">5412</td><td class="line">panel_toplevel_get_animate (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5413"><td class="num" id="LN5413">5413</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5414"><td class="num" id="LN5414">5414</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5415"><td class="num" id="LN5415">5415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5416"><td class="num" id="LN5416">5416</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animate;</td></tr>
+<tr class="codeline" data-linenumber="5417"><td class="num" id="LN5417">5417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5418"><td class="num" id="LN5418">5418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5419"><td class="num" id="LN5419">5419</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5420"><td class="num" id="LN5420">5420</td><td class="line">panel_toplevel_set_animation_speed (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5421"><td class="num" id="LN5421">5421</td><td class="line"> PanelAnimationSpeed animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5422"><td class="num" id="LN5422">5422</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5423"><td class="num" id="LN5423">5423</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5424"><td class="num" id="LN5424">5424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5425"><td class="num" id="LN5425">5425</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_speed == animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5426"><td class="num" id="LN5426">5426</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5427"><td class="num" id="LN5427">5427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5428"><td class="num" id="LN5428">5428</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5429"><td class="num" id="LN5429">5429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5430"><td class="num" id="LN5430">5430</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animation-speed"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5431"><td class="num" id="LN5431">5431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5432"><td class="num" id="LN5432">5432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5433"><td class="num" id="LN5433">5433</td><td class="line">PanelAnimationSpeed</td></tr>
+<tr class="codeline" data-linenumber="5434"><td class="num" id="LN5434">5434</td><td class="line">panel_toplevel_get_animation_speed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5435"><td class="num" id="LN5435">5435</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5436"><td class="num" id="LN5436">5436</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5437"><td class="num" id="LN5437">5437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5438"><td class="num" id="LN5438">5438</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5439"><td class="num" id="LN5439">5439</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5440"><td class="num" id="LN5440">5440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5441"><td class="num" id="LN5441">5441</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5442"><td class="num" id="LN5442">5442</td><td class="line">panel_toplevel_set_enable_buttons (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5443"><td class="num" id="LN5443">5443</td><td class="line"> gboolean enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5444"><td class="num" id="LN5444">5444</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5445"><td class="num" id="LN5445">5445</td><td class="line"> enable_buttons = enable_buttons != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5446"><td class="num" id="LN5446">5446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5447"><td class="num" id="LN5447">5447</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled == enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5448"><td class="num" id="LN5448">5448</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5449"><td class="num" id="LN5449">5449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5450"><td class="num" id="LN5450">5450</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = enable_buttons;</td></tr>
+<tr class="codeline" data-linenumber="5451"><td class="num" id="LN5451">5451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5452"><td class="num" id="LN5452">5452</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5453"><td class="num" id="LN5453">5453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5454"><td class="num" id="LN5454">5454</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"buttons-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5455"><td class="num" id="LN5455">5455</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5456"><td class="num" id="LN5456">5456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5457"><td class="num" id="LN5457">5457</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5458"><td class="num" id="LN5458">5458</td><td class="line">panel_toplevel_get_enable_buttons (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5459"><td class="num" id="LN5459">5459</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5460"><td class="num" id="LN5460">5460</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5461"><td class="num" id="LN5461">5461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5462"><td class="num" id="LN5462">5462</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;buttons_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5463"><td class="num" id="LN5463">5463</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5464"><td class="num" id="LN5464">5464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5465"><td class="num" id="LN5465">5465</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5466"><td class="num" id="LN5466">5466</td><td class="line">panel_toplevel_set_enable_arrows (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5467"><td class="num" id="LN5467">5467</td><td class="line"> gboolean enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5468"><td class="num" id="LN5468">5468</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5469"><td class="num" id="LN5469">5469</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5470"><td class="num" id="LN5470">5470</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5471"><td class="num" id="LN5471">5471</td><td class="line"> enable_arrows = enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5472"><td class="num" id="LN5472">5472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5473"><td class="num" id="LN5473">5473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled == enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5474"><td class="num" id="LN5474">5474</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5475"><td class="num" id="LN5475">5475</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5476"><td class="num" id="LN5476">5476</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = (enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5477"><td class="num" id="LN5477">5477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5478"><td class="num" id="LN5478">5478</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5479"><td class="num" id="LN5479">5479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5480"><td class="num" id="LN5480">5480</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrows-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5481"><td class="num" id="LN5481">5481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5482"><td class="num" id="LN5482">5482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5483"><td class="num" id="LN5483">5483</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5484"><td class="num" id="LN5484">5484</td><td class="line">panel_toplevel_get_enable_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5485"><td class="num" id="LN5485">5485</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5486"><td class="num" id="LN5486">5486</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5487"><td class="num" id="LN5487">5487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5488"><td class="num" id="LN5488">5488</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;arrows_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5489"><td class="num" id="LN5489">5489</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5490"><td class="num" id="LN5490">5490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5491"><td class="num" id="LN5491">5491</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5492"><td class="num" id="LN5492">5492</td><td class="line">panel_toplevel_rotate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5493"><td class="num" id="LN5493">5493</td><td class="line"> gboolean clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5494"><td class="num" id="LN5494">5494</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5495"><td class="num" id="LN5495">5495</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="5496"><td class="num" id="LN5496">5496</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5497"><td class="num" id="LN5497">5497</td><td class="line"> <span class='comment'>/* Relies on PanelOrientation definition:</span></td></tr>
+<tr class="codeline" data-linenumber="5498"><td class="num" id="LN5498">5498</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5499"><td class="num" id="LN5499">5499</td><td class="line"> <span class='comment'>* typedef enum {</span></td></tr>
+<tr class="codeline" data-linenumber="5500"><td class="num" id="LN5500">5500</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_TOP = 1 &lt;&lt; 0,</span></td></tr>
+<tr class="codeline" data-linenumber="5501"><td class="num" id="LN5501">5501</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_RIGHT = 1 &lt;&lt; 1,</span></td></tr>
+<tr class="codeline" data-linenumber="5502"><td class="num" id="LN5502">5502</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_BOTTOM = 1 &lt;&lt; 2,</span></td></tr>
+<tr class="codeline" data-linenumber="5503"><td class="num" id="LN5503">5503</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_LEFT = 1 &lt;&lt; 3</span></td></tr>
+<tr class="codeline" data-linenumber="5504"><td class="num" id="LN5504">5504</td><td class="line"> <span class='comment'>* } PanelOrientation;</span></td></tr>
+<tr class="codeline" data-linenumber="5505"><td class="num" id="LN5505">5505</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="5506"><td class="num" id="LN5506">5506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5507"><td class="num" id="LN5507">5507</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5508"><td class="num" id="LN5508">5508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5509"><td class="num" id="LN5509">5509</td><td class="line"> <span class='keyword'>if</span> (clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5510"><td class="num" id="LN5510">5510</td><td class="line"> orientation &lt;&lt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5511"><td class="num" id="LN5511">5511</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5512"><td class="num" id="LN5512">5512</td><td class="line"> orientation &gt;&gt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5513"><td class="num" id="LN5513">5513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5514"><td class="num" id="LN5514">5514</td><td class="line"> <span class='keyword'>if</span> (orientation == 0)</td></tr>
+<tr class="codeline" data-linenumber="5515"><td class="num" id="LN5515">5515</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5516"><td class="num" id="LN5516">5516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5517"><td class="num" id="LN5517">5517</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (orientation &gt; PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="5518"><td class="num" id="LN5518">5518</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="5519"><td class="num" id="LN5519">5519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5520"><td class="num" id="LN5520">5520</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="5521"><td class="num" id="LN5521">5521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5522"><td class="num" id="LN5522">5522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5523"><td class="num" id="LN5523">5523</td><td class="line">PanelState</td></tr>
+<tr class="codeline" data-linenumber="5524"><td class="num" id="LN5524">5524</td><td class="line">panel_toplevel_get_state (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5525"><td class="num" id="LN5525">5525</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5526"><td class="num" id="LN5526">5526</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5527"><td class="num" id="LN5527">5527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5528"><td class="num" id="LN5528">5528</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="5529"><td class="num" id="LN5529">5529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5530"><td class="num" id="LN5530">5530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5531"><td class="num" id="LN5531">5531</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5532"><td class="num" id="LN5532">5532</td><td class="line">panel_toplevel_get_is_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5533"><td class="num" id="LN5533">5533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5534"><td class="num" id="LN5534">5534</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5535"><td class="num" id="LN5535">5535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5536"><td class="num" id="LN5536">5536</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||</td></tr>
+<tr class="codeline" data-linenumber="5537"><td class="num" id="LN5537">5537</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="5538"><td class="num" id="LN5538">5538</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="5539"><td class="num" id="LN5539">5539</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="5540"><td class="num" id="LN5540">5540</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5541"><td class="num" id="LN5541">5541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5542"><td class="num" id="LN5542">5542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5543"><td class="num" id="LN5543">5543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5544"><td class="num" id="LN5544">5544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5545"><td class="num" id="LN5545">5545</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5546"><td class="num" id="LN5546">5546</td><td class="line">panel_toplevel_get_minimum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5547"><td class="num" id="LN5547">5547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5548"><td class="num" id="LN5548">5548</td><td class="line"> <span class='keyword'>return</span> calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="5549"><td class="num" id="LN5549">5549</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="5550"><td class="num" id="LN5550">5550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5551"><td class="num" id="LN5551">5551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5552"><td class="num" id="LN5552">5552</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5553"><td class="num" id="LN5553">5553</td><td class="line">panel_toplevel_get_maximum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5554"><td class="num" id="LN5554">5554</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5555"><td class="num" id="LN5555">5555</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="5556"><td class="num" id="LN5556">5556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5557"><td class="num" id="LN5557">5557</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="5558"><td class="num" id="LN5558">5558</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5559"><td class="num" id="LN5559">5559</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5560"><td class="num" id="LN5560">5560</td><td class="line"> <span class='keyword'>return</span> monitor_geom.height / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5561"><td class="num" id="LN5561">5561</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5562"><td class="num" id="LN5562">5562</td><td class="line"> <span class='keyword'>return</span> monitor_geom.width / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5563"><td class="num" id="LN5563">5563</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-0e9e9c.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-0e9e9c.html
new file mode 100644
index 00000000..0b46bd1b
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-0e9e9c.html
@@ -0,0 +1,868 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet-gsettings.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet-gsettings.c -->
+
+<!-- FILENAME mate-panel-applet-gsettings.c -->
+
+<!-- FUNCTIONNAME register_dconf_editor_relocatable_schema -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 0e9e9cbb606e67869ff575efee58199a -->
+
+<!-- BUGLINE 99 -->
+
+<!-- BUGCOLUMN 56 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet-gsettings.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 99, column 56</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet-gsettings.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet-gsettings.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"99": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet-gsettings.c: panel applet preferences handling.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2012 Stefano Karapetsas</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Stefano Karapetsas &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "mate-panel-applet-gsettings.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line">add_to_dict (GVariant *dict, <span class='keyword'>const</span> gchar *schema, <span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> GVariantIter iter;</td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> gboolean is_schema_found;</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> gboolean is_incorrect_schema;</td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> gint path_counter;</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> gchar *key;</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> gchar *value;</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> g_variant_builder_init (&amp;builder, (<span class='keyword'>const</span> GVariantType *) <span class='string_literal'>"a{ss}"</span>);</td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> g_variant_iter_init (&amp;iter, dict);</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> is_schema_found = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> is_incorrect_schema = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> path_counter = 0;</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> <span class='keyword'>while</span> (g_variant_iter_next (&amp;iter, <span class='string_literal'>"{ss}"</span>, &amp;key, &amp;value)) {</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> gboolean path_is_found = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (value, path) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> path_is_found = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> path_counter++;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (key, schema) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> is_schema_found = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='comment'>// skip incoorect schema for path</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> is_incorrect_schema = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> g_free (key);</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> gboolean need_add_to_dict = !path_is_found || path_counter &lt; 2;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='keyword'>if</span> (need_add_to_dict) {</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{ss}"</span>, key, value);</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> g_free (key);</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (!is_schema_found) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{ss}"</span>, schema, path);</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='keyword'>if</span> (!is_schema_found || is_incorrect_schema || (path_counter &gt; 1)) {</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>return</span> g_variant_ref_sink (g_variant_builder_end (&amp;builder));</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='comment'>// no changes</span></td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line">register_dconf_editor_relocatable_schema (<span class='keyword'>const</span> gchar *schema, <span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> GSettings *dconf_editor_settings;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> dconf_editor_settings = g_settings_new (<span class='string_literal'>"ca.desrt.dconf-editor.Settings"</span>);</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>if</span> (dconf_editor_settings &amp;&amp; g_settings_is_writable (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> GVariant *relocatable_schemas = g_settings_get_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>);</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='keyword'>if</span> (g_variant_is_of_type (relocatable_schemas, <span class="mrange"><span class="mrange"><span class='macro'>G_VARIANT_TYPE_DICTIONARY<span class='macro_popup'>((const GVariantType *) "a{?*}")</span></span></span></span>)) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:56ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GVariant * new_relocatable_schemas = add_to_dict (relocatable_schemas, schema, path);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (new_relocatable_schemas) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_settings_set_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>, new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> g_variant_unref (new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> g_variant_unref (relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> g_object_unref (dconf_editor_settings);</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line">GSettings *</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line">mate_panel_applet_settings_new (MatePanelApplet *applet, gchar *schema)</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> GSettings *settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> gchar *path;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> path = mate_panel_applet_get_preferences_path (applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class='keyword'>if</span> (path) {</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> settings = g_settings_new_with_path (schema, path);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> register_dconf_editor_relocatable_schema (schema, path);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> settings;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line">GList*</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">mate_panel_applet_settings_get_glist (GSettings *settings, gchar *key)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gchar **array;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GList *list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> array = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>if</span> (array != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>for</span> (gint i = 0; array[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> list = g_list_prepend (list, array[i]);</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> g_free (array);</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>return</span> g_list_reverse (list);</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line">mate_panel_applet_settings_set_glist (GSettings *settings, gchar *key, GList *list)</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> GArray *array;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> array = g_array_new (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (gchar *));</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> <span class='keyword'>for</span> (GList *l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> array = <span class='macro'>g_array_append_val (array, l-&gt;data)<span class='macro_popup'>g_array_append_vals (array, &amp;(l-&gt;data), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> g_settings_set_strv (settings, key, (<span class='keyword'>const</span> gchar **) array-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> g_array_free (array, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">GSList*</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">mate_panel_applet_settings_get_gslist (GSettings *settings, gchar *key)</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> gchar **array;</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> GSList *list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> array = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (array != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>for</span> (gint i = 0; array[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> list = g_slist_prepend (list, array[i]);</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> g_free (array);</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> <span class='keyword'>return</span> g_slist_reverse (list);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line">mate_panel_applet_settings_set_gslist (GSettings *settings, gchar *key, GSList *list)</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> GArray *array;</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> array = g_array_new (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (gchar *));</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>for</span> (GSList *l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> array = <span class='macro'>g_array_append_val (array, l-&gt;data)<span class='macro_popup'>g_array_append_vals (array, &amp;(l-&gt;data), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> g_settings_set_strv (settings, key, (<span class='keyword'>const</span> gchar **) array-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> g_array_free (array, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-0f6d0c.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-0f6d0c.html
new file mode 100644
index 00000000..5af9397e
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-0f6d0c.html
@@ -0,0 +1,2409 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-profile.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-profile.c -->
+
+<!-- FILENAME panel-profile.c -->
+
+<!-- FUNCTIONNAME remove_from_dict -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 0f6d0c55dba93de1889e82f8795ce311 -->
+
+<!-- BUGLINE 847 -->
+
+<!-- BUGCOLUMN 39 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-profile.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 847, column 39</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-profile.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-profile.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"847": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-profile.c:</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include "panel-layout.h"</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-list.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-dconf.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-gsettings.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>int</span> x;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> gboolean x_centered;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='keyword'>int</span> y;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> gboolean y_centered;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint screen_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> guint monitor_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> guint size_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> guint x_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> guint x_right_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> guint x_centered_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> guint y_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> guint y_bottom_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> guint y_centered_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint orientation_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line">} ToplevelLocationChange;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>const</span> <span class='keyword'>char</span> *(*PanelProfileGetIdFunc) (gpointer object);</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"><span class='keyword'>typedef</span> gboolean (*PanelProfileOnLoadQueue) (<span class='keyword'>const</span> <span class='keyword'>char</span> *id);</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>void</span> (*PanelProfileLoadFunc) (<span class='keyword'>const</span> <span class='keyword'>char</span> *id);</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>void</span> (*PanelProfileDestroyFunc) (<span class='keyword'>const</span> <span class='keyword'>char</span> *id);</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"><span class='keyword'>static</span> GSettings *profile_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"><span class='keyword'>static</span> GQuark toplevel_id_quark = 0;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"><span class='directive'>#if 0</span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"><span class='keyword'>static</span> GQuark queued_changes_quark = 0;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"><span class='keyword'>static</span> GQuark commit_timeout_quark = 0;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_profile_object_id_list_update (gchar **objects);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_profile_ensure_toplevel_per_screen (<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line">panel_profile_set_toplevel_id (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id_quark)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> toplevel_id_quark = g_quark_from_static_string (<span class='string_literal'>"panel-toplevel-id"</span>);</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> g_object_set_qdata_full (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> toplevel_id_quark,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line">panel_profile_get_toplevel_id (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id_quark)</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>return</span> g_object_get_qdata (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, toplevel_id_quark);</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">panel_profile_get_toplevel_by_id (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> GSList *toplevels, *l;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id || !toplevel_id [0])</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> toplevels = panel_toplevel_list_toplevels ();</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class='keyword'>for</span> (l = toplevels; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>if</span> (!strcmp (panel_profile_get_toplevel_id (l-&gt;data), toplevel_id))</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>return</span> l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line">panel_profile_find_new_id (PanelGSettingsKeyType type)</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> gchar **existing_ids;</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>char</span> *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='keyword'>char</span> *prefix = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>char</span> *dir = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> <span class='keyword'>int</span> j;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_TOPLEVELS:</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> prefix = <span class='macro'>PANEL_TOPLEVEL_DEFAULT_PREFIX<span class='macro_popup'>"toplevel"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> dir = <span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_OBJECTS:</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> prefix = <span class='macro'>PANEL_OBJECT_DEFAULT_PREFIX<span class='macro_popup'>"object"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> dir = <span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-profile.c"<br>, 150, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> existing_ids = mate_dconf_list_subdirs (dir, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> <span class='keyword'>for</span> (i = 0; !retval; i++) {</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> retval = g_strdup_printf (<span class='string_literal'>"%s-%d"</span>, prefix, i);</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='keyword'>for</span> (j = 0; existing_ids[j] != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; j++) {</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (existing_ids[j], retval) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;retval, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;retval) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;retval<br>)) _pp = (&amp;retval); __typeof__ (*(&amp;retval)) _ptr = *_pp<br>; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> <span class='keyword'>if</span> (existing_ids)</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> g_strfreev (existing_ids);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='macro'>g_assert (retval != NULL)<span class='macro_popup'>do { if (retval != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-profile.c", 169, ((const char*) (__func__<br>)), "retval != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">panel_profile_remove_commit_timeout (guint timeout)</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> g_source_remove (timeout);</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line">panel_profile_set_commit_timeout (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> guint timeout)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> GDestroyNotify destroy_notify;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>if</span> (!commit_timeout_quark)</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> commit_timeout_quark = g_quark_from_static_string (<span class='string_literal'>"panel-queued-timeout"</span>);</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>if</span> (timeout)</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> destroy_notify = (GDestroyNotify) panel_profile_remove_commit_timeout;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> destroy_notify = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_set_qdata_full (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> commit_timeout_quark,</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> <span class='macro'>GUINT_TO_POINTER (timeout)<span class='macro_popup'>((gpointer) (gulong) (timeout))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> destroy_notify);</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"><span class='keyword'>static</span> guint</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">panel_profile_get_commit_timeout (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>if</span> (!commit_timeout_quark)</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GPOINTER_TO_UINT (g_object_get_qdata (object, commit_timeout_quark))<span class='macro_popup'>((guint) (gulong) (g_object_get_qdata (object, commit_timeout_quark<br>)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">panel_profile_key_is_writable (PanelToplevel *toplevel, gchar *key) {</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (toplevel-&gt;settings, key);</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line">panel_profile_background_key_is_writable (PanelToplevel *toplevel, gchar *key) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (toplevel-&gt;background_settings, key);</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line">panel_profile_set_background_type (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> PanelBackgroundType background_type)</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> g_settings_set_enum (toplevel-&gt;background_settings,</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='string_literal'>"type"</span>,</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> background_type);</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line">PanelBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line">panel_profile_get_background_type (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> PanelBackgroundType background_type;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> background_type = g_settings_get_enum (toplevel-&gt;background_settings,</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='string_literal'>"type"</span>);</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>return</span> background_type;</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line">panel_profile_set_background_color (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>char</span> *color_str;</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> color_str = gdk_rgba_to_string (color);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_settings_set_string (toplevel-&gt;background_settings, <span class='string_literal'>"color"</span>, color_str);</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_free (color_str);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line">panel_profile_get_background_color (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *color_str;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> color_str = g_settings_get_string (toplevel-&gt;background_settings, <span class='string_literal'>"color"</span>);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>if</span> (!color_str || !gdk_rgba_parse (color, color_str)) {</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> color-&gt;red = 0.;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> color-&gt;green = 0.;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> color-&gt;blue = 0.;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> color-&gt;alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> g_free (color_str);</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">panel_profile_set_background_opacity (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> gdouble percentage)</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> panel_profile_get_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> color.alpha = percentage / 100.0;</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> panel_profile_set_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line">gdouble</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line">panel_profile_get_background_opacity (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> panel_profile_get_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> color.alpha * 100.0;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line">panel_profile_set_background_image (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *image)</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>if</span> (image &amp;&amp; image [0])</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_settings_set_string (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>, image);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> g_settings_reset (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line">panel_profile_get_background_image (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>return</span> g_settings_get_string (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line">panel_profile_set_toplevel_name (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name)</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>if</span> (name &amp;&amp; name [0])</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_settings_set_string (toplevel-&gt;settings, <span class='string_literal'>"name"</span>, name);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> g_settings_reset (toplevel-&gt;settings, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">panel_profile_get_toplevel_name (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>return</span> g_settings_get_string (toplevel-&gt;settings, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line">panel_profile_set_toplevel_orientation (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_settings_set_enum (toplevel-&gt;settings, <span class='string_literal'>"orientation"</span>, orientation);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line">PanelOrientation</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line">panel_profile_get_toplevel_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> orientation = g_settings_get_enum (toplevel-&gt;settings, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='keyword'>return</span> orientation;</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_GET_SET_FUNCS(k, p, t, s, a)<span class='macro_popup'>void panel_profile_set_p_s (PanelToplevel *toplevel, a s) { g_settings_set_t<br> (toplevel-&gt;settings, k, s); } a panel_profile_get_p_s (PanelToplevel<br> *toplevel) { a retval; retval = g_settings_get_t (toplevel-&gt;<br>settings, k); return retval; }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='directive'>void \</span></td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='directive'>panel_profile_set_##p##_##s (PanelToplevel *toplevel, a s) \</span></td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='directive'>g_settings_set_##t (toplevel-&gt;settings, k, s); \</span></td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='directive'>} \</span></td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> <span class='directive'>a \</span></td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='directive'>panel_profile_get_##p##_##s (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='directive'>a retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='directive'>retval = g_settings_get_##t (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='directive'>return retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"size"</span>, toplevel, <span class='keyword'>int</span>, size, <span class='keyword'>int</span>)<span class='macro_popup'>void panel_profile_set_toplevel_size (PanelToplevel *toplevel<br>, int size) { g_settings_set_int (toplevel-&gt;settings, "size"<br>, size); } int panel_profile_get_toplevel_size (PanelToplevel<br> *toplevel) { int retval; retval = g_settings_get_int (toplevel<br>-&gt;settings, "size"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"expand"</span>, toplevel, boolean, expand, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_expand (PanelToplevel *toplevel<br>, gboolean expand) { g_settings_set_boolean (toplevel-&gt;settings<br>, "expand", expand); } gboolean panel_profile_get_toplevel_expand<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "expand"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"auto-hide"</span>, toplevel, boolean, auto_hide, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_auto_hide (PanelToplevel *toplevel<br>, gboolean auto_hide) { g_settings_set_boolean (toplevel-&gt;<br>settings, "auto-hide", auto_hide); } gboolean panel_profile_get_toplevel_auto_hide<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "auto-hide"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"enable-buttons"</span>, toplevel, boolean, enable_buttons, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_enable_buttons (PanelToplevel<br> *toplevel, gboolean enable_buttons) { g_settings_set_boolean<br> (toplevel-&gt;settings, "enable-buttons", enable_buttons); }<br> gboolean panel_profile_get_toplevel_enable_buttons (PanelToplevel<br> *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "enable-buttons"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"enable-arrows"</span>, toplevel, boolean, enable_arrows, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_enable_arrows (PanelToplevel *<br>toplevel, gboolean enable_arrows) { g_settings_set_boolean (toplevel<br>-&gt;settings, "enable-arrows", enable_arrows); } gboolean panel_profile_get_toplevel_enable_arrows<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "enable-arrows"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS(k, p, t, s, a)<span class='macro_popup'>void panel_profile_set_p_s (PanelToplevel *toplevel, a s) { g_settings_set_t<br> (toplevel-&gt;background_settings, k, s); } a panel_profile_get_p_s<br> (PanelToplevel *toplevel) { a retval; retval = g_settings_get_t<br> (toplevel-&gt;background_settings, k); return retval; }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='directive'>void \</span></td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='directive'>panel_profile_set_##p##_##s (PanelToplevel *toplevel, a s) \</span></td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> <span class='directive'>g_settings_set_##t (toplevel-&gt;background_settings, k, s); \</span></td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='directive'>} \</span></td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='directive'>a \</span></td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> <span class='directive'>panel_profile_get_##p##_##s (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='directive'>a retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> <span class='directive'>retval = g_settings_get_##t (toplevel-&gt;background_settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='directive'>return retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS (<span class='string_literal'>"fit"</span>, background, boolean, fit, gboolean)<span class='macro_popup'>void panel_profile_set_background_fit (PanelToplevel *toplevel<br>, gboolean fit) { g_settings_set_boolean (toplevel-&gt;background_settings<br>, "fit", fit); } gboolean panel_profile_get_background_fit (PanelToplevel<br> *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;background_settings, "fit"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS (<span class='string_literal'>"stretch"</span>, background, boolean, stretch, gboolean)<span class='macro_popup'>void panel_profile_set_background_stretch (PanelToplevel *toplevel<br>, gboolean stretch) { g_settings_set_boolean (toplevel-&gt;background_settings<br>, "stretch", stretch); } gboolean panel_profile_get_background_stretch<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;background_settings, "stretch"); return retval<br>; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS (<span class='string_literal'>"rotate"</span>, background, boolean, rotate, gboolean)<span class='macro_popup'>void panel_profile_set_background_rotate (PanelToplevel *toplevel<br>, gboolean rotate) { g_settings_set_boolean (toplevel-&gt;background_settings<br>, "rotate", rotate); } gboolean panel_profile_get_background_rotate<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;background_settings, "rotate"); return retval;<br> }</span></span></td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">GSettings*</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line">panel_profile_get_attached_object_settings (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> GtkWidget *attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> attach_widget = panel_toplevel_get_attach_widget (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> id = mate_panel_applet_get_id_by_widget (attach_widget);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='keyword'>if</span> (!id)</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>return</span> settings;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line">panel_profile_set_attached_custom_icon (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *custom_icon)</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> g_settings_set_boolean (settings, <span class='macro'>PANEL_OBJECT_USE_CUSTOM_ICON_KEY<span class='macro_popup'>"use-custom-icon"</span></span>, custom_icon != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> g_settings_set_string (settings, <span class='macro'>PANEL_OBJECT_CUSTOM_ICON_KEY<span class='macro_popup'>"custom-icon"</span></span>, <span class='macro'>sure_string (custom_icon)<span class='macro_popup'>((const char *)((custom_icon)!=((void*)0)?(custom_icon):""))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line">panel_profile_get_attached_custom_icon (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> gchar *custom_icon = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='keyword'>if</span> (!g_settings_get_boolean (settings, <span class='macro'>PANEL_OBJECT_USE_CUSTOM_ICON_KEY<span class='macro_popup'>"use-custom-icon"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> custom_icon = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_CUSTOM_ICON_KEY<span class='macro_popup'>"custom-icon"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> <span class='keyword'>return</span> custom_icon;</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line">panel_profile_is_writable_attached_custom_icon (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> gboolean is_writable = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> is_writable = g_settings_is_writable (settings, <span class='macro'>PANEL_OBJECT_USE_CUSTOM_ICON_KEY<span class='macro_popup'>"use-custom-icon"</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> g_settings_is_writable (settings, <span class='macro'>PANEL_OBJECT_CUSTOM_ICON_KEY<span class='macro_popup'>"custom-icon"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span> is_writable;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">panel_profile_set_attached_tooltip (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip)</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> g_settings_set_string (settings, <span class='macro'>PANEL_OBJECT_TOOLTIP_KEY<span class='macro_popup'>"tooltip"</span></span>, tooltip);</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line">panel_profile_get_attached_tooltip (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> gchar *tooltip = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_TOOLTIP_KEY<span class='macro_popup'>"tooltip"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='keyword'>return</span> tooltip;</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line">panel_profile_is_writable_attached_tooltip (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> gboolean is_writable = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> is_writable = g_settings_is_writable (settings, <span class='macro'>PANEL_OBJECT_TOOLTIP_KEY<span class='macro_popup'>"tooltip"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>return</span> is_writable;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line">get_background_image (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> gboolean *fit,</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> gboolean *stretch,</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> gboolean *rotate)</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='keyword'>char</span> *image;</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> image = g_settings_get_string (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>);</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> *fit = g_settings_get_boolean (toplevel-&gt;background_settings, <span class='string_literal'>"fit"</span>);</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> *stretch = g_settings_get_boolean (toplevel-&gt;background_settings, <span class='string_literal'>"stretch"</span>);</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> *rotate = g_settings_get_boolean (toplevel-&gt;background_settings, <span class='string_literal'>"rotate"</span>);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>return</span> image;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line">panel_profile_load_background (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> PanelBackgroundType background_type;</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>char</span> *image;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> gboolean fit;</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> gboolean stretch;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> panel_widget = panel_toplevel_get_panel_widget (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> background = &amp;panel_widget-&gt;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> background_type = panel_profile_get_background_type (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> panel_profile_get_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> image = get_background_image (toplevel, &amp;fit, &amp;stretch, &amp;rotate);</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> panel_background_set (background,</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> background_type,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> &amp;color,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> image,</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> fit,</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> stretch,</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> rotate);</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> g_free (image);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line">panel_profile_commit_toplevel_changes (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> <span class='keyword'>if</span> (g_settings_get_has_unapplied (toplevel-&gt;queued_settings))</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> g_settings_apply (toplevel-&gt;queued_settings);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> panel_profile_set_commit_timeout (toplevel, 0);</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line">panel_profile_queue_toplevel_location_change (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> ToplevelLocationChange *change)</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> guint commit_timeout;</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> g_settings_delay (toplevel-&gt;queued_settings);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>if</span> (change-&gt;screen_changed &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='macro'>GDK_IS_X11_SCREEN (change-&gt;screen)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(change-&gt;screen)); GType __t = ((gdk_x11_screen_get_type (<br>))); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='string_literal'>"screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> gdk_x11_screen_get_screen_number (change-&gt;screen));</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> <span class='keyword'>if</span> (change-&gt;monitor_changed)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> <span class='string_literal'>"monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> change-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='keyword'>if</span> (change-&gt;size_changed)</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> change-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> <span class='keyword'>if</span> (change-&gt;orientation_changed)</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> g_settings_set_enum (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> <span class='string_literal'>"orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> change-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> <span class='keyword'>if</span> (change-&gt;x_changed)</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='string_literal'>"x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> change-&gt;x);</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> <span class='keyword'>if</span> (change-&gt;x_right_changed)</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> <span class='string_literal'>"x-right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> change-&gt;x_right);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>if</span> (change-&gt;x_centered_changed)</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> g_settings_set_boolean (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> <span class='string_literal'>"x-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> change-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>if</span> (change-&gt;y_changed)</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='string_literal'>"y"</span>,</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> change-&gt;y);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>if</span> (change-&gt;y_bottom_changed)</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> <span class='string_literal'>"y-bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> change-&gt;y_bottom);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> <span class='keyword'>if</span> (change-&gt;y_centered_changed)</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> g_settings_set_boolean (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='string_literal'>"y-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> change-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> commit_timeout = panel_profile_get_commit_timeout (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>if</span> (!commit_timeout) {</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> commit_timeout =</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> g_timeout_add (500,</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> (GSourceFunc) panel_profile_commit_toplevel_changes,</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> panel_profile_set_commit_timeout (toplevel, commit_timeout);</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(c)<span class='macro_popup'>static void panel_profile_toplevel_c_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; change<br>.c_changed = (!(0)); change.c = panel_toplevel_get_c (toplevel<br>); panel_profile_queue_toplevel_location_change (toplevel, &amp;<br>change); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='directive'>static void \</span></td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> <span class='directive'>panel_profile_toplevel_##c##_changed (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='directive'>ToplevelLocationChange change = { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> }; \</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='directive'>change.c##_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; \</span></td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> <span class='directive'>change.c = panel_toplevel_get_##c (toplevel); \</span></td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='directive'>panel_profile_queue_toplevel_location_change (toplevel, &amp;change); \</span></td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(monitor)<span class='macro_popup'>static void panel_profile_toplevel_monitor_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.monitor_changed = (!(0)); change.monitor = panel_toplevel_get_monitor<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(size)<span class='macro_popup'>static void panel_profile_toplevel_size_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.size_changed = (!(0)); change.size = panel_toplevel_get_size<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(orientation)<span class='macro_popup'>static void panel_profile_toplevel_orientation_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.orientation_changed = (!(0)); change.orientation = panel_toplevel_get_orientation<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(x_centered)<span class='macro_popup'>static void panel_profile_toplevel_x_centered_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.x_centered_changed = (!(0)); change.x_centered = panel_toplevel_get_x_centered<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(y_centered)<span class='macro_popup'>static void panel_profile_toplevel_y_centered_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.y_centered_changed = (!(0)); change.y_centered = panel_toplevel_get_y_centered<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(c)<span class='macro_popup'>static void panel_profile_toplevel_c_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; int<br> x, y, x_right, y_bottom; change.c_changed = (!(0)); panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); change<br>.c = c; panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='directive'>static void \</span></td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='directive'>panel_profile_toplevel_##c##_changed (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='directive'>ToplevelLocationChange change = { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> }; \</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='directive'>int x, y, x_right, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> <span class='directive'>change.c##_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; \</span></td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='directive'>&amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='directive'>change.c = c; \</span></td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='directive'>panel_profile_queue_toplevel_location_change (toplevel, &amp;change); \</span></td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(x)<span class='macro_popup'>static void panel_profile_toplevel_x_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; int<br> x, y, x_right, y_bottom; change.x_changed = (!(0)); panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); change<br>.x = x; panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(x_right)<span class='macro_popup'>static void panel_profile_toplevel_x_right_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> int x, y, x_right, y_bottom; change.x_right_changed = (!(0))<br>; panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); change.x_right = x_right; panel_profile_queue_toplevel_location_change<br> (toplevel, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(y)<span class='macro_popup'>static void panel_profile_toplevel_y_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; int<br> x, y, x_right, y_bottom; change.y_changed = (!(0)); panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); change<br>.y = y; panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(y_bottom)<span class='macro_popup'>static void panel_profile_toplevel_y_bottom_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> int x, y, x_right, y_bottom; change.y_bottom_changed = (!(0)<br>); panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); change.y_bottom = y_bottom; panel_profile_queue_toplevel_location_change<br> (toplevel, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line">panel_profile_toplevel_screen_changed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> ToplevelLocationChange change = { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> };</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> change.screen_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> change.screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> panel_profile_queue_toplevel_location_change (toplevel, &amp;change);</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line">panel_profile_connect_to_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::screen"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::screen"), (((GCallback<br>) (panel_profile_toplevel_screen_changed))), (((void*)0)), ((<br>void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_screen_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::screen"), (((GCallback<br>) (panel_profile_toplevel_screen_changed))), (((void*)0)), ((<br>void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::monitor"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::monitor"), (((GCallback<br>) (panel_profile_toplevel_monitor_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_monitor_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::monitor"), (((GCallback<br>) (panel_profile_toplevel_monitor_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::size"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::size"), (((GCallback<br>) (panel_profile_toplevel_size_changed))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_size_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::size"), (((GCallback<br>) (panel_profile_toplevel_size_changed))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::x"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x"), (((GCallback<br>) (panel_profile_toplevel_x_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_x_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x"), (((GCallback<br>) (panel_profile_toplevel_x_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::x-right"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-right"), (((GCallback<br>) (panel_profile_toplevel_x_right_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_x_right_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-right"), (((GCallback<br>) (panel_profile_toplevel_x_right_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::x-centered"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-centered"), ((<br>(GCallback) (panel_profile_toplevel_x_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_x_centered_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-centered"), ((<br>(GCallback) (panel_profile_toplevel_x_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::y"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y"), (((GCallback<br>) (panel_profile_toplevel_y_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_y_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y"), (((GCallback<br>) (panel_profile_toplevel_y_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::y-bottom"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-bottom"), (((GCallback<br>) (panel_profile_toplevel_y_bottom_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_y_bottom_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-bottom"), (((GCallback<br>) (panel_profile_toplevel_y_bottom_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::y-centered"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-centered"), ((<br>(GCallback) (panel_profile_toplevel_y_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_y_centered_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-centered"), ((<br>(GCallback) (panel_profile_toplevel_y_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::orientation"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::orientation"), (<br>((GCallback) (panel_profile_toplevel_orientation_changed))), (<br>((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_orientation_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::orientation"), (<br>((GCallback) (panel_profile_toplevel_orientation_changed))), (<br>((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">panel_profile_toplevel_change_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> <span class='keyword'>if</span> (toplevel == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || !<span class='macro'>PANEL_IS_TOPLEVEL (toplevel)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_STRING(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { gchar *value = g_settings_get_string (<br>settings, key); panel_toplevel_set_n (toplevel, value); g_free<br> (value); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='directive'>gchar *value = g_settings_get_string (settings, key); \</span></td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, value); \</span></td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> <span class='directive'>g_free (value); \</span></td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_ENUM(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { panel_toplevel_set_n (toplevel, g_settings_get_enum<br> (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='directive'>g_settings_get_enum (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_INT(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { panel_toplevel_set_n (toplevel, g_settings_get_int<br> (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='directive'>g_settings_get_int (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_BOOL(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { panel_toplevel_set_n (toplevel, g_settings_get_boolean<br> (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='directive'>g_settings_get_boolean (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_POS(k, n, n2)<span class='macro_popup'>if (!strcmp (key, k)) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_n<br> ( toplevel, g_settings_get_int (settings, key), n2, panel_toplevel_get_n_centered<br> (toplevel)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='directive'>int x, x_right, y, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='directive'>panel_toplevel_set_##n ( \</span></td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> <span class='directive'>toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='directive'>g_settings_get_int (settings, key), \</span></td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='directive'>n2, \</span></td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='directive'>panel_toplevel_get_##n##_centered (toplevel)); \</span></td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_POS2(k, n, n2)<span class='macro_popup'>if (!strcmp (key, k)) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_n<br> ( toplevel, n, g_settings_get_int (settings, key), panel_toplevel_get_n_centered<br> (toplevel)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> <span class='directive'>int x, x_right, y, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> <span class='directive'>panel_toplevel_set_##n ( \</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='directive'>toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='directive'>n, \</span></td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='directive'>g_settings_get_int (settings, key), \</span></td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='directive'>panel_toplevel_get_##n##_centered (toplevel)); \</span></td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_CENTERED(k, n, n2)<span class='macro_popup'>if (!strcmp (key, k)) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_n<br> ( toplevel, n, n2, g_settings_get_boolean (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> <span class='directive'>int x, x_right, y, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='directive'>panel_toplevel_set_##n ( \</span></td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> <span class='directive'>toplevel, n, n2, \</span></td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> <span class='directive'>g_settings_get_boolean (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"screen"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> screen = gdk_display_get_default_screen (gdk_display_get_default ());</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> <span class='keyword'>if</span> (screen)</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='comment'>/* Make sure to set the key back to an actual</span></td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='comment'>* available screen so it will get loaded on</span></td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='comment'>* next startup.</span></td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> panel_profile_toplevel_screen_changed (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"monitor"</span>, monitor)<span class='macro_popup'>if (!strcmp (key, "monitor")) { panel_toplevel_set_monitor (toplevel<br>, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_STRING (<span class='string_literal'>"name"</span>, name)<span class='macro_popup'>if (!strcmp (key, "name")) { gchar *value = g_settings_get_string<br> (settings, key); panel_toplevel_set_name (toplevel, value); g_free<br> (value); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"expand"</span>, expand)<span class='macro_popup'>if (!strcmp (key, "expand")) { panel_toplevel_set_expand (toplevel<br>, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_ENUM (<span class='string_literal'>"orientation"</span>, orientation)<span class='macro_popup'>if (!strcmp (key, "orientation")) { panel_toplevel_set_orientation<br> (toplevel, g_settings_get_enum (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"size"</span>, size)<span class='macro_popup'>if (!strcmp (key, "size")) { panel_toplevel_set_size (toplevel<br>, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS (<span class='string_literal'>"x"</span>, x, x_right)<span class='macro_popup'>if (!strcmp (key, "x")) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_x<br> ( toplevel, g_settings_get_int (settings, key), x_right, panel_toplevel_get_x_centered<br> (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS (<span class='string_literal'>"y"</span>, y, y_bottom)<span class='macro_popup'>if (!strcmp (key, "y")) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_y<br> ( toplevel, g_settings_get_int (settings, key), y_bottom, panel_toplevel_get_y_centered<br> (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS2 (<span class='string_literal'>"x-right"</span>, x, x_right)<span class='macro_popup'>if (!strcmp (key, "x-right")) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_x<br> ( toplevel, x, g_settings_get_int (settings, key), panel_toplevel_get_x_centered<br> (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS2 (<span class='string_literal'>"y-bottom"</span>, y, y_bottom)<span class='macro_popup'>if (!strcmp (key, "y-bottom")) { int x, x_right, y, y_bottom;<br> panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right,<br> &amp;y, &amp;y_bottom); panel_toplevel_set_y ( toplevel, y, g_settings_get_int<br> (settings, key), panel_toplevel_get_y_centered (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_CENTERED (<span class='string_literal'>"x-centered"</span>, x, x_right)<span class='macro_popup'>if (!strcmp (key, "x-centered")) { int x, x_right, y, y_bottom<br>; panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); panel_toplevel_set_x ( toplevel, x,<br> x_right, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_CENTERED (<span class='string_literal'>"y-centered"</span>, y, y_bottom)<span class='macro_popup'>if (!strcmp (key, "y-centered")) { int x, x_right, y, y_bottom<br>; panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); panel_toplevel_set_y ( toplevel, y,<br> y_bottom, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"auto-hide"</span>, auto_hide)<span class='macro_popup'>if (!strcmp (key, "auto-hide")) { panel_toplevel_set_auto_hide<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"enable-animations"</span>, animate)<span class='macro_popup'>if (!strcmp (key, "enable-animations")) { panel_toplevel_set_animate<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"enable-buttons"</span>, enable_buttons)<span class='macro_popup'>if (!strcmp (key, "enable-buttons")) { panel_toplevel_set_enable_buttons<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"enable-arrows"</span>, enable_arrows)<span class='macro_popup'>if (!strcmp (key, "enable-arrows")) { panel_toplevel_set_enable_arrows<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"hide-delay"</span>, hide_delay)<span class='macro_popup'>if (!strcmp (key, "hide-delay")) { panel_toplevel_set_hide_delay<br> (toplevel, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"unhide-delay"</span>, unhide_delay)<span class='macro_popup'>if (!strcmp (key, "unhide-delay")) { panel_toplevel_set_unhide_delay<br> (toplevel, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"auto-hide-size"</span>, auto_hide_size)<span class='macro_popup'>if (!strcmp (key, "auto-hide-size")) { panel_toplevel_set_auto_hide_size<br> (toplevel, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_ENUM (<span class='string_literal'>"animation-speed"</span>, animation_speed)<span class='macro_popup'>if (!strcmp (key, "animation-speed")) { panel_toplevel_set_animation_speed<br> (toplevel, g_settings_get_enum (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line">panel_profile_background_change_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='keyword'>if</span> (toplevel == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || !<span class='macro'>PANEL_IS_TOPLEVEL (toplevel)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> panel_widget = panel_toplevel_get_panel_widget (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='keyword'>if</span> (panel_widget == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> background = &amp;panel_widget-&gt;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"type"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> PanelBackgroundType background_type;</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> background_type = g_settings_get_enum (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> panel_background_set_type (background, background_type);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> gchar *str;</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> str = g_settings_get_string (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> <span class='keyword'>if</span> (gdk_rgba_parse (&amp;color, str))</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> panel_background_set_color (background, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> g_free (str);</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"image"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> gchar *value = g_settings_get_string (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> panel_background_set_image (background, value);</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"fit"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> panel_background_set_fit (background,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> g_settings_get_boolean (settings, key));</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"stretch"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> panel_background_set_stretch (background,</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> g_settings_get_boolean (settings, key));</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"rotate"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> panel_background_set_rotate (background,</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> g_settings_get_boolean (settings, key));</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line">key_from_type (PanelGSettingsKeyType type) {</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_TOPLEVELS)</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANEL_TOPLEVEL_ID_LIST_KEY<span class='macro_popup'>"toplevel-id-list"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_OBJECTS)</td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-profile.c"<br>, 834, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line">remove_from_dict (GVariant *dict, <span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> GVariantIter iter;</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> gchar *key;</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> gchar *value;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> g_variant_builder_init (&amp;builder, <span class="mrange"><span class="mrange">(<span class='keyword'>const</span> GVariantType *) <span class='string_literal'>"a{ss}"</span>);</td></tr></span></span>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:39ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> g_variant_iter_init (&amp;iter, dict);</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> <span class='keyword'>while</span> (g_variant_iter_next (&amp;iter, <span class='string_literal'>"{ss}"</span>, &amp;key, &amp;value)) {</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> <span class='keyword'>if</span> ( g_strcmp0 (value, path) != 0) {</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{ss}"</span>, key, value);</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> g_free (key);</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='keyword'>return</span> g_variant_ref_sink (g_variant_builder_end (&amp;builder));</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line">unregister_dconf_editor_relocatable_schema (<span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> GSettings *dconf_editor_settings;</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> dconf_editor_settings = g_settings_new (<span class='string_literal'>"ca.desrt.dconf-editor.Settings"</span>);</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='keyword'>if</span> (dconf_editor_settings &amp;&amp; g_settings_is_writable (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> GVariant *relocatable_schemas = g_settings_get_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>);</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> <span class='keyword'>if</span> (g_variant_is_of_type (relocatable_schemas, <span class='macro'>G_VARIANT_TYPE_DICTIONARY<span class='macro_popup'>((const GVariantType *) "a{?*}")</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GVariant * new_relocatable_schemas = remove_from_dict (relocatable_schemas, path);</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> g_settings_set_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>, new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> g_variant_unref (new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> g_variant_unref (relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> g_object_unref (dconf_editor_settings);</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line">panel_profile_add_to_list (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> <span class='keyword'>char</span> *new_id = id ? <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span> : panel_profile_find_new_id (type);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>if</span> (new_id != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> mate_gsettings_append_strv (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> key_from_type (type),</td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> new_id);</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> g_free (new_id);</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line">panel_profile_remove_from_list (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> mate_gsettings_remove_all_from_strv (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> key_from_type (type),</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> id);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">panel_profile_id_list_is_writable (PanelGSettingsKeyType type)</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (profile_settings, key_from_type (type));</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line">panel_profile_id_lists_are_writable (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>return</span></td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> panel_profile_id_list_is_writable (PANEL_GSETTINGS_TOPLEVELS) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> panel_profile_id_list_is_writable (PANEL_GSETTINGS_OBJECTS);</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line">panel_profile_find_empty_spot (GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> PanelOrientation *orientation,</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>int</span> *monitor)</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> GSList *li;</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>int</span> *filled_spots;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> gboolean found_a_spot = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> *monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> *orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> filled_spots = <span class='macro'>g_new0 (<span class='keyword'>int</span>, panel_multimonitor_monitors ())<span class='macro_popup'>((int *) g_malloc0_n ((panel_multimonitor_monitors ()), sizeof<br> (int)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> <span class='keyword'>for</span> (li = panel_toplevel_list_toplevels (); li != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; li = li-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> PanelToplevel *toplevel = li-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> GdkScreen *toplevel_screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> <span class='keyword'>int</span> toplevel_monitor = panel_toplevel_get_monitor (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='keyword'>if</span> (toplevel_screen != screen ||</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> panel_toplevel_get_is_attached (toplevel) ||</td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> toplevel_monitor &lt; 0)</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> filled_spots[toplevel_monitor] |= panel_toplevel_get_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; panel_multimonitor_monitors (); i++) {</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='comment'>/* These are ordered based on "priority" of the</span></td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='comment'>orientation when picking it */</span></td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_TOP)) {</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> *orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_BOTTOM)) {</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> *orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_RIGHT)) {</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> *orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_LEFT)) {</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> *orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> g_free (filled_spots);</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> <span class='keyword'>return</span> found_a_spot;</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line">panel_profile_create_toplevel (GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='keyword'>int</span> screen_number;</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='macro'>g_return_if_fail (screen != NULL)<span class='macro_popup'>do { if ((screen != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "screen != NULL")<br>; return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> id = panel_profile_find_new_id (PANEL_GSETTINGS_TOPLEVELS);</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> path = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> screen_number = 0;</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_SCREEN (screen)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(screen)); GType __t = ((gdk_x11_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> screen_number = gdk_x11_screen_get_screen_number (screen);</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> g_settings_set_int (settings, <span class='macro'>PANEL_TOPLEVEL_SCREEN_KEY<span class='macro_popup'>"screen"</span></span>, screen_number);</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='keyword'>if</span> (panel_profile_find_empty_spot (screen, &amp;orientation, &amp;monitor)) {</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> g_settings_set_int (settings, <span class='macro'>PANEL_TOPLEVEL_MONITOR_KEY<span class='macro_popup'>"monitor"</span></span>, monitor);</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> g_settings_set_enum (settings, <span class='macro'>PANEL_TOPLEVEL_ORIENTATION_KEY<span class='macro_popup'>"orientation"</span></span>, orientation);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> panel_profile_add_to_list (PANEL_GSETTINGS_TOPLEVELS, id);</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> g_free (id);</td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line">panel_profile_delete_toplevel_objects (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> gchar **list;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> GArray *newlist;</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> list = g_settings_get_strv (profile_settings, <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> newlist = g_array_new (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (gchar *));</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='keyword'>for</span> (i = 0; list[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='keyword'>char</span> *parent_toplevel_id;</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, list[i]);</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> parent_toplevel_id = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_TOPLEVEL_ID_KEY<span class='macro_popup'>"toplevel-id"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> <span class='keyword'>if</span> (parent_toplevel_id &amp;&amp; !strcmp (toplevel_id, parent_toplevel_id)) {</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> g_free (parent_toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> newlist = <span class='macro'>g_array_append_val (newlist, list[i])<span class='macro_popup'>g_array_append_vals (newlist, &amp;(list[i]), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> g_free (parent_toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> g_settings_set_strv (profile_settings, <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>, (<span class='keyword'>const</span> gchar **) newlist-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> g_array_free (newlist, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> g_strfreev (list);</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line">panel_profile_delete_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id;</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> toplevel_id = panel_profile_get_toplevel_id (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> panel_profile_delete_toplevel_objects (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> panel_profile_remove_from_list (PANEL_GSETTINGS_TOPLEVELS, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line">panel_profile_load_toplevel (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> <span class='keyword'>char</span> *toplevel_path;</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> <span class='keyword'>char</span> *toplevel_background_path;</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id || !toplevel_id [0])</td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> toplevel_path = g_strdup_printf (<span class='string_literal'>"%s%s/"</span>, <span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span>, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> screen = gdk_display_get_default_screen (gdk_display_get_default ());</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>if</span> (screen == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> g_free (toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> toplevel = g_object_new (<span class='macro'>PANEL_TYPE_TOPLEVEL<span class='macro_popup'>(panel_toplevel_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> <span class='string_literal'>"screen"</span>, screen,</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> panel_toplevel_set_settings_path (toplevel, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> toplevel-&gt;settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel"</span></span>, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> toplevel-&gt;queued_settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel"</span></span>, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel_background_path = g_strdup_printf (<span class='string_literal'>"%sbackground/"</span>, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> toplevel-&gt;background_settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_BACKGROUND_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel.background"</span></span>, toplevel_background_path);</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"><span class='directive'>#define <span class='macro'>GET_INT(k, fn)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, k<br>); panel_toplevel_set_fn (toplevel, val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> <span class='directive'>int val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='directive'>val = g_settings_get_int (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"><span class='directive'>#define <span class='macro'>GET_BOOL(k, fn)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, k); panel_toplevel_set_fn (toplevel, val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> <span class='directive'>gboolean val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='directive'>val = g_settings_get_boolean (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='directive'>#define <span class='macro'>GET_STRING(k, fn)<span class='macro_popup'>{ char *val; val = g_settings_get_string (toplevel-&gt;settings<br>, k); panel_toplevel_set_fn (toplevel, val); g_free (val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='directive'>char *val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='directive'>val = g_settings_get_string (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='directive'>g_free (val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"><span class='directive'>#define <span class='macro'>GET_ENUM(k, fn)<span class='macro_popup'>{ int val; val = g_settings_get_enum (toplevel-&gt;settings, k<br>); panel_toplevel_set_fn (toplevel, val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> <span class='directive'>int val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='directive'>val = g_settings_get_enum (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='macro'>GET_STRING (<span class='string_literal'>"name"</span>, name)<span class='macro_popup'>{ char *val; val = g_settings_get_string (toplevel-&gt;settings<br>, "name"); panel_toplevel_set_name (toplevel, val); g_free (val<br>); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"monitor"</span>, monitor)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "monitor"<br>); panel_toplevel_set_monitor (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"expand"</span>, expand)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "expand"); panel_toplevel_set_expand (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='macro'>GET_ENUM (<span class='string_literal'>"orientation"</span>, orientation)<span class='macro_popup'>{ int val; val = g_settings_get_enum (toplevel-&gt;settings, "orientation"<br>); panel_toplevel_set_orientation (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"size"</span>, size)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "size"<br>); panel_toplevel_set_size (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"auto-hide"</span>, auto_hide)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "auto-hide"); panel_toplevel_set_auto_hide (toplevel, val);<br> }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"enable-animations"</span>, animate)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "enable-animations"); panel_toplevel_set_animate (toplevel,<br> val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"enable-buttons"</span>, enable_buttons)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "enable-buttons"); panel_toplevel_set_enable_buttons (toplevel<br>, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"enable-arrows"</span>, enable_arrows)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "enable-arrows"); panel_toplevel_set_enable_arrows (toplevel<br>, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"hide-delay"</span>, hide_delay)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "hide-delay"<br>); panel_toplevel_set_hide_delay (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"unhide-delay"</span>, unhide_delay)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "unhide-delay"<br>); panel_toplevel_set_unhide_delay (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"auto-hide-size"</span>, auto_hide_size)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "auto-hide-size"<br>); panel_toplevel_set_auto_hide_size (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='macro'>GET_ENUM (<span class='string_literal'>"animation-speed"</span>, animation_speed)<span class='macro_popup'>{ int val; val = g_settings_get_enum (toplevel-&gt;settings, "animation-speed"<br>); panel_toplevel_set_animation_speed (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"><span class='directive'>#define <span class='macro'>GET_POSITION(a, b, c, fn)<span class='macro_popup'>{ gboolean centered; int position; int position2; centered = g_settings_get_boolean<br> (toplevel-&gt;settings, c); position = g_settings_get_int (toplevel<br>-&gt;settings, a); position2 = g_settings_get_int (toplevel-&gt;<br>settings, b); panel_toplevel_set_fn (toplevel, position, position2<br>, centered); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='directive'>gboolean centered; \</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='directive'>int position; \</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='directive'>int position2; \</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='directive'>centered = g_settings_get_boolean (toplevel-&gt;settings, c); \</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='directive'>position = g_settings_get_int (toplevel-&gt;settings, a); \</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='directive'>position2 = g_settings_get_int (toplevel-&gt;settings, b); \</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, position, position2, centered); \</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> <span class='macro'>GET_POSITION (<span class='string_literal'>"x"</span>, <span class='string_literal'>"x-right"</span>, <span class='string_literal'>"x-centered"</span>, x)<span class='macro_popup'>{ gboolean centered; int position; int position2; centered = g_settings_get_boolean<br> (toplevel-&gt;settings, "x-centered"); position = g_settings_get_int<br> (toplevel-&gt;settings, "x"); position2 = g_settings_get_int<br> (toplevel-&gt;settings, "x-right"); panel_toplevel_set_x (toplevel<br>, position, position2, centered); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='macro'>GET_POSITION (<span class='string_literal'>"y"</span>, <span class='string_literal'>"y-bottom"</span>, <span class='string_literal'>"y-centered"</span>, y)<span class='macro_popup'>{ gboolean centered; int position; int position2; centered = g_settings_get_boolean<br> (toplevel-&gt;settings, "y-centered"); position = g_settings_get_int<br> (toplevel-&gt;settings, "y"); position2 = g_settings_get_int<br> (toplevel-&gt;settings, "y-bottom"); panel_toplevel_set_y (toplevel<br>, position, position2, centered); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> panel_profile_load_background (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> panel_profile_set_toplevel_id (toplevel, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> panel_profile_connect_to_toplevel (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='macro'>g_signal_connect (toplevel-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='string_literal'><span class='macro'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_change_notify),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='macro'>g_signal_connect (toplevel-&gt;background_settings,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> <span class='string_literal'><span class='macro'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_background_change_notify),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> g_free (toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> g_free (toplevel_background_path);</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> panel_setup (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> <span class='keyword'>return</span> toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line">panel_profile_load_and_show_toplevel (<span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> gchar **objects;</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> gboolean loading_queued_applets;</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> toplevel = panel_profile_load_toplevel (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> <span class='keyword'>if</span> (!toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> loading_queued_applets = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> <span class='comment'>/* reload list of objects to get those that might be on the new</span></td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> <span class='comment'>* toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> GSettings *panel_settings;</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> panel_settings = g_settings_new (<span class='macro'>PANEL_SCHEMA<span class='macro_popup'>"org.mate.panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> objects = g_settings_get_strv (panel_settings, <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> <span class='keyword'>if</span> (objects) {</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> panel_profile_object_id_list_update (objects);</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> loading_queued_applets = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> <span class='keyword'>if</span> (!loading_queued_applets)</td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> mate_panel_applet_load_queued_applets (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> g_strfreev (objects);</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> g_object_unref (panel_settings);</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line">panel_profile_load_and_show_toplevel_startup (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> toplevel = panel_profile_load_toplevel (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='keyword'>if</span> (toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line">panel_profile_destroy_toplevel (<span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> <span class='keyword'>if</span> (!(toplevel = panel_profile_get_toplevel_by_id (id)))</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line">panel_profile_prepare_object_with_id (PanelObjectType object_type,</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> gboolean right_stick)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> PanelGSettingsKeyType key_type;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> <span class='keyword'>char</span> *settings_path;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> key_type = PANEL_GSETTINGS_OBJECTS;</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> id = panel_profile_find_new_id (key_type);</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> settings_path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, settings_path);</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> g_settings_set_enum (settings, <span class='macro'>PANEL_OBJECT_TYPE_KEY<span class='macro_popup'>"object-type"</span></span>, object_type);</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> g_settings_set_string (settings, <span class='macro'>PANEL_OBJECT_TOPLEVEL_ID_KEY<span class='macro_popup'>"toplevel-id"</span></span>, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> g_settings_set_int (settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>, position);</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> g_settings_set_boolean (settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>, right_stick);</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='comment'>/* Force writing the settings in order to reserve the object ID *now*,</span></td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='comment'>* so that a later call to panel_profile_find_new_id() won't find the same</span></td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='comment'>* one. */</span></td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> g_settings_sync ();</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> g_free (settings_path);</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> <span class='keyword'>return</span> id;</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line">panel_profile_prepare_object (PanelObjectType object_type,</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> gboolean right_stick)</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> <span class='keyword'>return</span> panel_profile_prepare_object_with_id (object_type,</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> panel_profile_get_toplevel_id (toplevel),</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> position,</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> right_stick);</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line">panel_profile_delete_object (AppletInfo *applet_info)</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> PanelGSettingsKeyType type;</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> type = PANEL_GSETTINGS_OBJECTS;</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> id = mate_panel_applet_get_id (applet_info);</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> panel_profile_remove_from_list (type, id);</td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line">panel_profile_load_object (<span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> PanelObjectType object_type;</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>char</span> *toplevel_id;</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> position;</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> gboolean right_stick;</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> object_path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, object_path);</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> object_type = g_settings_get_enum (settings, <span class='macro'>PANEL_OBJECT_TYPE_KEY<span class='macro_popup'>"object-type"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> position = g_settings_get_int (settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> toplevel_id = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_TOPLEVEL_ID_KEY<span class='macro_popup'>"toplevel-id"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> right_stick = g_settings_get_boolean (settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> locked = g_settings_get_boolean (settings, <span class='macro'>PANEL_OBJECT_LOCKED_KEY<span class='macro_popup'>"locked"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> mate_panel_applet_queue_applet_to_load (id,</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> object_type,</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> position,</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> right_stick,</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> locked);</td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> g_free (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> g_free (object_path);</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line">panel_profile_destroy_object (<span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> info = mate_panel_applet_get_by_id (id);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> mate_panel_applet_clean (info);</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line">panel_profile_delete_dir (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> gchar *dir = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_TOPLEVELS:</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> dir = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_OBJECTS:</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> dir = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-profile.c"<br>, 1345, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_TOPLEVELS) {</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> gchar *subdir;</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> subdir = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/background/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> mate_dconf_recursive_reset (subdir, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> g_free (subdir);</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_OBJECTS) {</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> gchar *subdir;</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> subdir = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/prefs/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> mate_dconf_recursive_reset (subdir, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> unregister_dconf_editor_relocatable_schema (subdir);</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> g_free (subdir);</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> <span class='keyword'>if</span> (dir != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> mate_dconf_recursive_reset (dir, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> g_free (dir);</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line">panel_profile_object_exists (GSList *list,</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id,</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> PanelProfileGetIdFunc get_id_func)</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>if</span> (!list || !id)</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> <span class='keyword'>for</span> (l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *check_id;</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> check_id = get_id_func (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> <span class='macro'>g_assert (check_id != NULL)<span class='macro_popup'>do { if (check_id != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-profile.c", 1383, ((const char*) (__func__<br>)), "check_id != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='keyword'>if</span> (!strcmp (check_id, id))</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line">panel_profile_id_exists (GSList *id_list,</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> <span class='keyword'>if</span> (!id_list || !id)</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> <span class='keyword'>for</span> (l = id_list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *check_id = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> <span class='keyword'>if</span> (!strcmp (id, check_id))</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line">panel_profile_load_added_ids (GSList *list,</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> GSList *id_list,</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> PanelProfileGetIdFunc get_id_func,</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> PanelProfileLoadFunc load_handler,</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> PanelProfileOnLoadQueue on_load_queue)</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"> GSList *added_ids = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> <span class='keyword'>for</span> (l = id_list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> <span class='keyword'>if</span> (!panel_profile_object_exists (list, id, get_id_func) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> (on_load_queue == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || !on_load_queue (id)))</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> added_ids = g_slist_prepend (added_ids, <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> <span class='keyword'>for</span> (l = added_ids; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> id = (<span class='keyword'>char</span> *) l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>if</span> (id &amp;&amp; id[0])</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> load_handler (id);</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;l-&gt;data, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;l-&gt;data) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;l-&gt;<br>data)) _pp = (&amp;l-&gt;data); __typeof__ (*(&amp;l-&gt;data<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> g_slist_free (added_ids);</td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line">panel_profile_delete_removed_ids (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> GSList *list,</td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> GSList *id_list,</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> PanelProfileGetIdFunc get_id_func,</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> PanelProfileDestroyFunc destroy_handler)</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> GSList *removed_ids = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> <span class='keyword'>for</span> (l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> id = get_id_func (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> <span class='keyword'>if</span> (!panel_profile_id_exists (id_list, id))</td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> removed_ids = g_slist_prepend (removed_ids, <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> <span class='keyword'>for</span> (l = removed_ids; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> panel_profile_delete_dir (type, id);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> destroy_handler (id);</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;l-&gt;data, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;l-&gt;data) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;l-&gt;<br>data)) _pp = (&amp;l-&gt;data); __typeof__ (*(&amp;l-&gt;data<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> g_slist_free (removed_ids);</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line">load_default_layout_idle (gpointer unused) {</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> <span class='keyword'>if</span> (g_slist_length (panel_toplevel_list_toplevels ()) != 0) {</td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='comment'>/* some toplevels are not destroyed yet, waiting */</span></td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> <span class='comment'>/* load the default layout and stop this handler */</span></td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> panel_profile_ensure_toplevel_per_screen ();</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line">panel_profile_toplevel_id_list_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> GSList *l, *existing_toplevels;</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> GSList *toplevel_ids;</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> gchar **toplevel_ids_strv;</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> toplevel_ids_strv = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> toplevel_ids = mate_gsettings_strv_to_gslist ((<span class='keyword'>const</span> gchar **) toplevel_ids_strv);</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> toplevel_ids = panel_g_slist_make_unique (toplevel_ids,</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> (GCompareFunc) g_strcmp0,</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> g_strfreev (toplevel_ids_strv);</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> existing_toplevels = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> <span class='keyword'>for</span> (l = panel_toplevel_list_toplevels (); l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> PanelToplevel *toplevel = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> <span class='comment'>/* Attached toplevels aren't on the id list */</span></td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> existing_toplevels = g_slist_prepend (existing_toplevels, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> panel_profile_load_added_ids (existing_toplevels,</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> toplevel_ids,</td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> (PanelProfileGetIdFunc) panel_profile_get_toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> (PanelProfileLoadFunc) panel_profile_load_and_show_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> (PanelProfileOnLoadQueue) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> panel_profile_delete_removed_ids (PANEL_GSETTINGS_TOPLEVELS,</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> existing_toplevels,</td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> toplevel_ids,</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> (PanelProfileGetIdFunc) panel_profile_get_toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> (PanelProfileDestroyFunc) panel_profile_destroy_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> <span class='comment'>/* if there are no panels, reset layout to default */</span></td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line"> <span class='keyword'>if</span> (g_slist_length (toplevel_ids) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> g_idle_add (load_default_layout_idle, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line"> g_slist_free (existing_toplevels);</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> g_slist_free_full (toplevel_ids, g_free);</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line">panel_profile_object_id_list_update (gchar **objects)</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> GSList *existing_applets;</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> GSList *sublist = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, *l;</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> GSList *object_ids;</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> object_ids = mate_gsettings_strv_to_gslist ((<span class='keyword'>const</span> gchar **) objects);</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> object_ids = panel_g_slist_make_unique (object_ids,</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> (GCompareFunc) g_strcmp0,</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> existing_applets = mate_panel_applet_list_applets ();</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>for</span> (l = existing_applets; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> AppletInfo *info = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> sublist = g_slist_prepend (sublist, info);</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> panel_profile_load_added_ids (sublist,</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> object_ids,</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> (PanelProfileGetIdFunc) mate_panel_applet_get_id,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> (PanelProfileLoadFunc) panel_profile_load_object,</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> (PanelProfileOnLoadQueue) mate_panel_applet_on_load_queue);</td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> panel_profile_delete_removed_ids (PANEL_GSETTINGS_OBJECTS,</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> sublist,</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> object_ids,</td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> (PanelProfileGetIdFunc) mate_panel_applet_get_id,</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> (PanelProfileDestroyFunc) panel_profile_destroy_object);</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> g_slist_free (sublist);</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> g_slist_free_full (object_ids, g_free);</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> mate_panel_applet_load_queued_applets (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line">panel_profile_object_id_list_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> gchar **objects;</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> objects = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> panel_profile_object_id_list_update (objects);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> g_strfreev (objects);</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line">panel_profile_load_list (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line"> PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> PanelProfileLoadFunc load_handler,</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"> GCallback notify_handler)</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> <span class='keyword'>const</span> gchar *key = key_from_type (type);</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> gchar *changed_signal;</td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> gchar **list;</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> changed_signal = g_strdup_printf (<span class='string_literal'>"changed::%s"</span>, key);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_signal_connect (settings, changed_signal, G_CALLBACK (notify_handler), NULL)<span class='macro_popup'>g_signal_connect_data ((settings), (changed_signal), (((GCallback<br>) (notify_handler))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> g_free (changed_signal);</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> list = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='keyword'>if</span> (list) {</td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"> <span class='keyword'>for</span> (gint i = 0; list[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> load_handler (list[i]);</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> g_strfreev (list);</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line">panel_profile_ensure_toplevel_per_screen ()</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> GSList *toplevels;</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> GSList *empty_screens = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> toplevels = panel_toplevel_list_toplevels ();</td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> screen = gdk_display_get_default_screen (display);</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>for</span> (l = toplevels; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>if</span> (gtk_window_get_screen (l-&gt;data) == screen)</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> <span class='keyword'>if</span> (!l)</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> empty_screens = g_slist_prepend (empty_screens, screen);</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>for</span> (l = empty_screens; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> panel_layout_apply_default_from_gkeyfile (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> g_slist_free (empty_screens);</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line">panel_profile_settings_load (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> profile_settings = g_settings_new (<span class='string_literal'>"org.mate.panel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line">panel_profile_load (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> panel_profile_settings_load();</td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> panel_profile_load_list (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> PANEL_GSETTINGS_TOPLEVELS,</td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> (PanelProfileLoadFunc)panel_profile_load_and_show_toplevel_startup,</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_id_list_notify)<span class='macro_popup'>((GCallback) (panel_profile_toplevel_id_list_notify))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> panel_profile_load_list (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> PANEL_GSETTINGS_OBJECTS,</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> (PanelProfileLoadFunc)panel_profile_load_object,</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_object_id_list_notify)<span class='macro_popup'>((GCallback) (panel_profile_object_id_list_notify))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> panel_profile_ensure_toplevel_per_screen ();</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> mate_panel_applet_load_queued_applets (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line">get_program_listing_setting (<span class='keyword'>const</span> <span class='keyword'>char</span> *key)</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> retval = g_settings_get_boolean (profile_settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line">panel_profile_get_show_program_list (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>return</span> get_program_listing_setting (<span class='string_literal'>"show-program-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line">panel_profile_get_enable_program_list (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>return</span> get_program_listing_setting (<span class='string_literal'>"enable-program-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line">panel_profile_get_enable_autocompletion (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>return</span> get_program_listing_setting (<span class='string_literal'>"enable-autocompletion"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line">panel_profile_set_show_program_list (gboolean show_program_list)</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> g_settings_set_boolean (profile_settings, <span class='string_literal'>"show-program-list"</span>, show_program_list);</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line">panel_profile_is_writable_show_program_list (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (profile_settings, <span class='string_literal'>"show-program-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line">panel_profile_can_be_moved_freely (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down () ||</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> !g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_ORIENTATION_KEY<span class='macro_popup'>"orientation"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_SCREEN_KEY<span class='macro_popup'>"screen"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_MONITOR_KEY<span class='macro_popup'>"monitor"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> <span class='comment'>/* For expanded panels we don't really have to check</span></td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='comment'>x and y */</span></td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_expand (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_X_KEY<span class='macro_popup'>"x"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_X_RIGHT_KEY<span class='macro_popup'>"x-right"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_X_CENTERED_KEY<span class='macro_popup'>"x-centered"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_Y_KEY<span class='macro_popup'>"y"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_Y_BOTTOM_KEY<span class='macro_popup'>"y-bottom"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_Y_CENTERED_KEY<span class='macro_popup'>"y-centered"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-1eba91.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-1eba91.html
new file mode 100644
index 00000000..9996dc78
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-1eba91.html
@@ -0,0 +1,1074 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-test-applets.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC This statement is never executed -->
+
+<!-- BUGTYPE Unreachable code -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-test-applets.c -->
+
+<!-- FILENAME panel-test-applets.c -->
+
+<!-- FUNCTIONNAME main -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 1eba910900bb6e5bc1c9667453695142 -->
+
+<!-- BUGLINE 360 -->
+
+<!-- BUGCOLUMN 3 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-test-applets.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 360, column 3</a><br />This statement is never executed</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-test-applets.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATE_PANEL_APPLETS_DIR="/usr/local/share/mate-panel/applets" -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-test-applets.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"360": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-test-applets.c:</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Stefano Karapetsas &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* Copyright 2002 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* 2012 Stefano Karapetsas</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-cleanup.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-dconf.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"><span class='directive'>#include &lt;libmate-panel-applet-private/panel-applet-container.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#include &lt;libmate-panel-applet-private/panel-applets-manager-dbus.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include "panel-modules.h"</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span> <span class='keyword'>void</span> on_execute_button_clicked (GtkButton *button, gpointer dummy);</td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='keyword'>static</span> GtkWidget *win = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='keyword'>static</span> GtkWidget *applet_combo = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='keyword'>static</span> GtkWidget *prefs_path_entry = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='keyword'>static</span> GtkWidget *orient_combo = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='keyword'>static</span> GtkWidget *size_combo = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *cli_iid = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *cli_prefs_path = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *cli_size = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *cli_orient = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GOptionEntry options [] = {</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> { <span class='string_literal'>"iid"</span>, 0, 0, G_OPTION_ARG_STRING, &amp;cli_iid, <span class='macro'>N_(<span class='string_literal'>"Specify an applet IID to load"</span>)<span class='macro_popup'>("Specify an applet IID to load")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>},</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> { <span class='string_literal'>"prefs-path"</span>, 0, 0, G_OPTION_ARG_STRING, &amp;cli_prefs_path, <span class='macro'>N_(<span class='string_literal'>"Specify a gsettings path in which the applet preferences should be stored"</span>)<span class='macro_popup'>("Specify a gsettings path in which the applet preferences should be stored"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>},</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> { <span class='string_literal'>"size"</span>, 0, 0, G_OPTION_ARG_STRING, &amp;cli_size, <span class='macro'>N_(<span class='string_literal'>"Specify the initial size of the applet (xx-small, medium, large etc.)"</span>)<span class='macro_popup'>("Specify the initial size of the applet (xx-small, medium, large etc.)"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>},</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> { <span class='string_literal'>"orient"</span>, 0, 0, G_OPTION_ARG_STRING, &amp;cli_orient, <span class='macro'>N_(<span class='string_literal'>"Specify the initial orientation of the applet (top, bottom, left or right)"</span>)<span class='macro_popup'>("Specify the initial orientation of the applet (top, bottom, left or right)"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>},</td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, 0, G_OPTION_ARG_NONE, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> COLUMN_TEXT,</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> COLUMN_ITEM,</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> NUMBER_COLUMNS</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> guint value;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line">} ComboItem;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> ComboItem orient_items [] = {</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Orientation"</span>, <span class='string_literal'>"Top"</span>)<span class='macro_popup'>("Top")</span></span>, PANEL_ORIENTATION_TOP },</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Orientation"</span>, <span class='string_literal'>"Bottom"</span>)<span class='macro_popup'>("Bottom")</span></span>, PANEL_ORIENTATION_BOTTOM },</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Orientation"</span>, <span class='string_literal'>"Left"</span>)<span class='macro_popup'>("Left")</span></span>, PANEL_ORIENTATION_LEFT },</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Orientation"</span>, <span class='string_literal'>"Right"</span>)<span class='macro_popup'>("Right")</span></span>, PANEL_ORIENTATION_RIGHT }</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='keyword'>static</span> ComboItem size_items [] = {</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Size"</span>, <span class='string_literal'>"XX Small"</span>)<span class='macro_popup'>("XX Small")</span></span>, 12 },</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Size"</span>, <span class='string_literal'>"X Small"</span>)<span class='macro_popup'>("X Small")</span></span>, 24 },</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Size"</span>, <span class='string_literal'>"Small"</span>)<span class='macro_popup'>("Small")</span></span>, 36 },</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Size"</span>, <span class='string_literal'>"Medium"</span>)<span class='macro_popup'>("Medium")</span></span>, 48 },</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Size"</span>, <span class='string_literal'>"Large"</span>)<span class='macro_popup'>("Large")</span></span>, 64 },</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Size"</span>, <span class='string_literal'>"X Large"</span>)<span class='macro_popup'>("X Large")</span></span>, 80 },</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> { <span class='macro'>NC_(<span class='string_literal'>"Size"</span>, <span class='string_literal'>"XX Large"</span>)<span class='macro_popup'>("XX Large")</span></span>, 128 }</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='keyword'>static</span> guint</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line">get_combo_value (GtkWidget *combo_box)</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> GtkTreeModel *model;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> guint value;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>if</span> (!gtk_combo_box_get_active_iter (<span class='macro'>GTK_COMBO_BOX (combo_box)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_combo_box_get_type ()))))))</span></span>, &amp;iter))</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> model = gtk_combo_box_get_model (<span class='macro'>GTK_COMBO_BOX (combo_box)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_combo_box_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> gtk_tree_model_get (model, &amp;iter, COLUMN_ITEM, &amp;value, -1);</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='keyword'>return</span> value;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"><span class='keyword'>static</span> gchar *</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">get_combo_applet_id (GtkWidget *combo_box)</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> GtkTreeModel *model;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>if</span> (!gtk_combo_box_get_active_iter (<span class='macro'>GTK_COMBO_BOX (combo_box)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_combo_box_get_type ()))))))</span></span>, &amp;iter))</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> model = gtk_combo_box_get_model (<span class='macro'>GTK_COMBO_BOX (combo_box)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_combo_box_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> gtk_tree_model_get (model, &amp;iter, COLUMN_ITEM, &amp;value, -1);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='keyword'>return</span> value;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line">applet_broken_cb (GtkWidget *container,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> GtkWidget *window)</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> gtk_widget_destroy (window);</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">applet_activated_cb (GObject *source_object,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> GAsyncResult *res,</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> GtkWidget *applet_window)</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_container_add_finish (<span class='macro'>MATE_PANEL_APPLET_CONTAINER (source_object)<span class='macro_popup'>((((MatePanelAppletContainer*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((source_object)), ((mate_panel_applet_container_get_type<br> ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> res, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> GtkWidget *dialog;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> dialog = gtk_message_dialog_new (<span class='macro'>GTK_WINDOW (applet_window)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet_window)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> GTK_DIALOG_MODAL|</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> GTK_DIALOG_DESTROY_WITH_PARENT,</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> GTK_MESSAGE_ERROR,</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> GTK_BUTTONS_CLOSE,</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Failed to load applet %s"</span>)<span class='macro_popup'>gettext ("Failed to load applet %s")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> error-&gt;message); <span class='comment'>/* FIXME */</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> gtk_widget_destroy (dialog);</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> gtk_widget_show (applet_window);</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line">load_applet_into_window (<span class='keyword'>const</span> <span class='keyword'>char</span> *title,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *prefs_path,</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> guint size,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> guint orientation)</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> GtkWidget *container;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> GtkWidget *applet_window;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> container = mate_panel_applet_container_new ();</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> applet_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='comment'>/* FIXME: we could set the window icon with the applet icon */</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (applet_window)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet_window)), ((gtk_window_get_type ()))))))</span></span>, title);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (applet_window)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet_window)), ((gtk_container_get_type ()))))))</span></span>, container);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> gtk_widget_show (container);</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='macro'>g_signal_connect (container, <span class='string_literal'>"applet-broken"</span>,<span class='macro_popup'>g_signal_connect_data ((container), ("applet-broken"), (((GCallback<br>) (applet_broken_cb))), (applet_window), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='macro'>G_CALLBACK (applet_broken_cb),<span class='macro_popup'>g_signal_connect_data ((container), ("applet-broken"), (((GCallback<br>) (applet_broken_cb))), (applet_window), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='macro'>applet_window)<span class='macro_popup'>g_signal_connect_data ((container), ("applet-broken"), (((GCallback<br>) (applet_broken_cb))), (applet_window), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"a{sv}"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("a{sv}")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> <span class='string_literal'>"prefs-path"</span>, g_variant_new_string (prefs_path));</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> <span class='string_literal'>"size"</span>, g_variant_new_uint32 (size));</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='string_literal'>"orient"</span>, g_variant_new_uint32 (orientation));</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> mate_panel_applet_container_add (<span class='macro'>MATE_PANEL_APPLET_CONTAINER (container)<span class='macro_popup'>((((MatePanelAppletContainer*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((container)), ((mate_panel_applet_container_get_type<br> ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> gtk_widget_get_screen (applet_window),</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> title, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> (GAsyncReadyCallback)applet_activated_cb,</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> applet_window,</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> g_variant_builder_end (&amp;builder));</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line">load_applet_from_command_line (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> guint size = 24, orient = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='macro'>g_assert (cli_iid != NULL)<span class='macro_popup'>do { if (cli_iid != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-test-applets.c", 182, ((const char*) (<br>__func__)), "cli_iid != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>if</span> (cli_size || cli_orient) {</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>if</span> (cli_size) {</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>for</span> (gsize i = 0; i &lt; <span class='macro'>G_N_ELEMENTS (size_items)<span class='macro_popup'>(sizeof (size_items) / sizeof ((size_items)[0]))</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class='keyword'>if</span> (strcmp (g_dpgettext2 (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"Size"</span>, size_items[i].name), cli_size) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> size = size_items[i].value;</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> <span class='keyword'>if</span> (cli_orient) {</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>for</span> (gsize i = 0; i &lt; <span class='macro'>G_N_ELEMENTS (orient_items)<span class='macro_popup'>(sizeof (orient_items) / sizeof ((orient_items)[0]))</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> <span class='keyword'>if</span> (strcmp (g_dpgettext2 (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"Orientation"</span>, orient_items[i].name), cli_orient) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> orient = orient_items[i].value;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> g_print (<span class='string_literal'>"Loading %s\n"</span>, cli_iid);</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> load_applet_into_window (cli_iid, cli_prefs_path, size, orient);</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"><span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">on_execute_button_clicked (GtkButton *button,</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> gpointer dummy)</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> <span class='keyword'>char</span> *title;</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> title = get_combo_applet_id (applet_combo);</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> load_applet_into_window (title,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> gtk_entry_get_text (<span class='macro'>GTK_ENTRY (prefs_path_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((prefs_path_entry)), ((gtk_entry_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> get_combo_value (size_combo),</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> get_combo_value (orient_combo));</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_free (title);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line">setup_combo (GtkWidget *combo_box,</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> ComboItem *items,</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *context,</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> <span class='keyword'>int</span> nb_items)</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> GtkListStore *model;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> GtkCellRenderer *renderer;</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> model = gtk_list_store_new (NUMBER_COLUMNS,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> gtk_combo_box_set_model (<span class='macro'>GTK_COMBO_BOX (combo_box)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_combo_box_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>GTK_TREE_MODEL (model)<span class='macro_popup'>((((GtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((model)), ((gtk_tree_model_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_items; i++) {</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> gtk_list_store_append (model, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> gtk_list_store_set (model, &amp;iter,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> COLUMN_TEXT, g_dpgettext2 (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, context, items [i].name),</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> COLUMN_ITEM, items [i].value,</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> -1);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> renderer = gtk_cell_renderer_text_new ();</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> gtk_cell_layout_pack_start (<span class='macro'>GTK_CELL_LAYOUT (combo_box)<span class='macro_popup'>((((GtkCellLayout*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_cell_layout_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> renderer, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> gtk_cell_layout_set_attributes (<span class='macro'>GTK_CELL_LAYOUT (combo_box)<span class='macro_popup'>((((GtkCellLayout*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_cell_layout_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> renderer, <span class='string_literal'>"text"</span>, COLUMN_TEXT, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> gtk_combo_box_set_active (<span class='macro'>GTK_COMBO_BOX (combo_box)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((combo_box)), ((gtk_combo_box_get_type ()))))))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line">setup_options (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> MatePanelAppletsManager *manager;</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> GList *applet_list, *l;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='keyword'>int</span> j;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> <span class='keyword'>char</span> *prefs_path = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='keyword'>char</span> *unique_key = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> gboolean unique_key_found = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> GtkListStore *model;</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> GtkCellRenderer *renderer;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> model = gtk_list_store_new (NUMBER_COLUMNS,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gtk_combo_box_set_model (<span class='macro'>GTK_COMBO_BOX (applet_combo)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet_combo)), ((gtk_combo_box_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='macro'>GTK_TREE_MODEL (model)<span class='macro_popup'>((((GtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((model)), ((gtk_tree_model_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> manager = g_object_new (<span class='macro'>PANEL_TYPE_APPLETS_MANAGER_DBUS<span class='macro_popup'>(mate_panel_applets_manager_dbus_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> applet_list = MATE_PANEL_APPLETS_MANAGER_GET_CLASS (manager)-&gt;get_applets (manager);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>for</span> (l = applet_list, i = 1; l; l = <span class='macro'>g_list_next (l)<span class='macro_popup'>((l) ? (((GList *)(l))-&gt;next) : ((void*)0))</span></span>, i++) {</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> MatePanelAppletInfo *info = (MatePanelAppletInfo *)l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> gtk_list_store_append (model, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> gtk_list_store_set (model, &amp;iter,</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> COLUMN_TEXT, mate_panel_applet_info_get_name (info),</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> COLUMN_ITEM, mate_panel_applet_info_get_iid (info),</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> -1);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> g_list_free (applet_list);</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> g_object_unref (manager);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> renderer = gtk_cell_renderer_text_new ();</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> gtk_cell_layout_pack_start (<span class='macro'>GTK_CELL_LAYOUT (applet_combo)<span class='macro_popup'>((((GtkCellLayout*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet_combo)), ((gtk_cell_layout_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> renderer, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_cell_layout_set_attributes (<span class='macro'>GTK_CELL_LAYOUT (applet_combo)<span class='macro_popup'>((((GtkCellLayout*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet_combo)), ((gtk_cell_layout_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> renderer, <span class='string_literal'>"text"</span>, COLUMN_TEXT, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> gtk_combo_box_set_active (<span class='macro'>GTK_COMBO_BOX (applet_combo)<span class='macro_popup'>((((GtkComboBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet_combo)), ((gtk_combo_box_get_type ()))))))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> setup_combo (size_combo, size_items, <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='macro'>G_N_ELEMENTS (size_items)<span class='macro_popup'>(sizeof (size_items) / sizeof ((size_items)[0]))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> setup_combo (orient_combo, orient_items, <span class='string_literal'>"Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='macro'>G_N_ELEMENTS (orient_items)<span class='macro_popup'>(sizeof (orient_items) / sizeof ((orient_items)[0]))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> <span class='keyword'>for</span> (i = 0; !unique_key_found; i++)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> g_free (unique_key);</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> unique_key = g_strdup_printf (<span class='string_literal'>"mate-panel-test-applet-%d"</span>, i);</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> unique_key_found = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> gchar **dconf_paths = mate_dconf_list_subdirs (<span class='string_literal'>"/tmp/"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='keyword'>for</span> (j = 0; dconf_paths[j] != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; j++)</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0(unique_key, dconf_paths[j]) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> unique_key_found = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> <span class='keyword'>if</span> (dconf_paths)</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_strfreev (dconf_paths);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> prefs_path = g_strdup_printf (<span class='string_literal'>"/tmp/%s/"</span>, unique_key);</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>if</span> (unique_key)</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> g_free (unique_key);</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (prefs_path_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((prefs_path_entry)), ((gtk_entry_get_type ()))))))</span></span>, prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> g_free (prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line">main (<span class='keyword'>int</span> argc, <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> GtkBuilder *builder;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> GError *error;</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> bindtextdomain (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>, <span class='macro'>MATELOCALEDIR<span class='macro_popup'>"/usr/local/share/locale"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> bind_textdomain_codeset (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>, <span class='string_literal'>"UTF-8"</span>);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> textdomain (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>if</span> (!gtk_init_with_args (&amp;argc, &amp;argv,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='string_literal'>""</span>, (GOptionEntry *) options, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> g_printerr (<span class='string_literal'>"%s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> g_printerr (<span class='string_literal'>"Cannot initialize GTK+.\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> panel_modules_ensure_loaded ();</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> <span class='keyword'>if</span> (g_file_test (<span class='string_literal'>"../libmate-panel-applet"</span>, G_FILE_TEST_IS_DIR))</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> g_setenv (<span class='string_literal'>"MATE_PANEL_APPLETS_DIR"</span>, <span class='macro'>MATE_PANEL_APPLETS_DIR<span class='macro_popup'>"/usr/local/share/mate-panel/applets"</span></span> <span class='string_literal'>":../libmate-panel-applet"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> <span class='keyword'>if</span> (cli_iid) {</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class="mrange">load_applet_from_command_line</span> ();</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:17ex">This statement is never executed</div></td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> gtk_main ();</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> panel_cleanup_do ();</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> builder = gtk_builder_new ();</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> gtk_builder_set_translation_domain (builder, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> gtk_builder_add_from_resource (builder, <span class='string_literal'>"/org/mate/panel/test/panel-test-applets.ui"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> gtk_builder_connect_signals (builder, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> win = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder,<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "toplevel"))), ((gtk_widget_get_type<br> ()))))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> <span class='string_literal'><span class='macro'>"toplevel"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "toplevel"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> applet_combo = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder,<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "applet-combo"))), ((gtk_widget_get_type<br> ()))))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> <span class='string_literal'><span class='macro'>"applet-combo"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "applet-combo"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> prefs_path_entry = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder,<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "prefs-path-entry"))), (<br>(gtk_widget_get_type ()))))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> <span class='string_literal'><span class='macro'>"prefs-path-entry"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "prefs-path-entry"))), (<br>(gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> orient_combo = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder,<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "orient-combo"))), ((gtk_widget_get_type<br> ()))))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> <span class='string_literal'><span class='macro'>"orient-combo"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "orient-combo"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> size_combo = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder,<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "size-combo"))), ((gtk_widget_get_type<br> ()))))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='string_literal'><span class='macro'>"size-combo"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "size-combo"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> g_object_unref (builder);</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> setup_options ();</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> gtk_widget_show (win);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> gtk_main ();</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> panel_cleanup_do ();</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-2de153.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-2de153.html
new file mode 100644
index 00000000..9530467c
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-2de153.html
@@ -0,0 +1,2041 @@
+<!doctype html>
+<html>
+<head>
+<title>window-list.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC The left operand of '-' is a garbage value -->
+
+<!-- BUGTYPE Result of operation is garbage or undefined -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/applets/wncklet/window-list.c -->
+
+<!-- FILENAME window-list.c -->
+
+<!-- FUNCTIONNAME preview_window_reposition -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 2de153ae2cf5e96a24496bbdc3ff48ba -->
+
+<!-- BUGLINE 431 -->
+
+<!-- BUGCOLUMN 87 -->
+
+<!-- BUGPATHLENGTH 24 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>applets/wncklet/window-list.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 431, column 87</a><br />The left operand of '-' is a garbage value</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name window-list.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/applets/wncklet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../.. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I /usr/include/mate-desktop-2.0 -I /usr/include/libwnck-3.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/startup-notification-1.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../.. -I ../../applets/wncklet -I ../../libmate-panel-applet -I ../../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/applets/wncklet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c window-list.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"253": 1, "254": 1, "255": 1, "256": 1, "257": 1, "258": 1, "259": 1, "260": 1, "261": 1, "262": 1, "263": 1, "264": 1, "265": 1, "267": 1, "269": 1, "274": 1, "275": 1, "276": 1, "279": 1, "281": 1, "282": 1, "283": 1, "284": 1, "294": 1, "296": 1, "297": 1, "298": 1, "299": 1, "300": 1, "301": 1, "302": 1, "303": 1, "304": 1, "306": 1, "312": 1, "314": 1, "339": 1, "340": 1, "341": 1, "342": 1, "343": 1, "344": 1, "345": 1, "351": 1, "352": 1, "353": 1, "354": 1, "355": 1, "358": 1, "361": 1, "362": 1, "365": 1, "368": 1, "371": 1, "383": 1, "384": 1, "385": 1, "392": 1, "393": 1, "394": 1, "395": 1, "396": 1, "422": 1, "428": 1, "431": 1, "451": 1, "452": 1, "453": 1, "454": 1, "455": 1, "456": 1, "457": 1, "458": 1, "460": 1, "466": 1, "469": 1, "471": 1, "473": 1, "474": 1, "475": 1, "478": 1, "482": 1, "483": 1, "486": 1, "488": 1, "492": 1, "494": 1, "495": 1, "496": 1, "497": 1}, "691": {"38": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+ <path class="arrow" id="arrow0"/>
+ <path class="arrow" id="arrow1"/>
+ <path class="arrow" id="arrow2"/>
+ <path class="arrow" id="arrow3"/>
+ <path class="arrow" id="arrow4"/>
+ <path class="arrow" id="arrow5"/>
+ <path class="arrow" id="arrow6"/>
+ <path class="arrow" id="arrow7"/>
+ <path class="arrow" id="arrow8"/>
+ <path class="arrow" id="arrow9"/>
+ <path class="arrow" id="arrow10"/>
+ <path class="arrow" id="arrow11"/>
+ <path class="arrow" id="arrow12"/>
+ <path class="arrow" id="arrow13"/>
+ <path class="arrow" id="arrow14"/>
+ <path class="arrow" id="arrow15"/>
+ <path class="arrow" id="arrow16"/>
+ <path class="arrow" id="arrow17"/>
+ <path class="arrow" id="arrow18"/>
+ <path class="arrow" id="arrow19"/>
+ <path class="arrow" id="arrow20"/>
+ <path class="arrow" id="arrow21"/>
+ <path class="arrow" id="arrow22"/>
+ <path class="arrow" id="arrow23"/>
+ <path class="arrow" id="arrow24"/>
+ <path class="arrow" id="arrow25"/>
+ <path class="arrow" id="arrow26"/>
+ <path class="arrow" id="arrow27"/>
+ <path class="arrow" id="arrow28"/>
+ <path class="arrow" id="arrow29"/>
+ <path class="arrow" id="arrow30"/>
+ <path class="arrow" id="arrow31"/>
+ <path class="arrow" id="arrow32"/>
+ <path class="arrow" id="arrow33"/>
+ <path class="arrow" id="arrow34"/>
+ <path class="arrow" id="arrow35"/>
+ <path class="arrow" id="arrow36"/>
+ <path class="arrow" id="arrow37"/>
+ <path class="arrow" id="arrow38"/>
+ <path class="arrow" id="arrow39"/>
+ <path class="arrow" id="arrow40"/>
+ <path class="arrow" id="arrow41"/>
+ <path class="arrow" id="arrow42"/>
+ <path class="arrow" id="arrow43"/>
+ <path class="arrow" id="arrow44"/>
+ <path class="arrow" id="arrow45"/>
+ <path class="arrow" id="arrow46"/>
+ <path class="arrow" id="arrow47"/>
+ <path class="arrow" id="arrow48"/>
+ <path class="arrow" id="arrow49"/>
+ <path class="arrow" id="arrow50"/>
+ <path class="arrow" id="arrow51"/>
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 52,50,48,47,45,42,40,35,32,30,29,27,24,22,20,15,11,9,1,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* -*- mode: C; c-file-style: "linux" -*- */</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* libwnck based tasklist applet.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* (C) 2001 Red Hat, Inc</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* (C) 2001 Alexander Larsson</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Authors: Alexander Larsson</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet-gsettings.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#define WNCK_I_KNOW_THIS_IS_UNSTABLE</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include &lt;libwnck/libwnck.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include &lt;gdk/gdkwayland.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "wayland-backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#define MATE_DESKTOP_USE_UNSTABLE_API</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-utils.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include "wncklet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include "window-list.h"</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#define <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span> "mate-panel-window-list"</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#define <span class='macro'>WINDOW_LIST_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list"</span></span> "org.mate.panel.applet.window-list"</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#define <span class='macro'>WINDOW_LIST_PREVIEW_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list-previews"</span></span> "org.mate.panel.applet.window-list-previews"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> TASKLIST_NEVER_GROUP,</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> TASKLIST_AUTO_GROUP,</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> TASKLIST_ALWAYS_GROUP</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line">} TasklistGroupingType;</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> GtkWidget* applet;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> GtkWidget* tasklist;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget* preview;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> gboolean show_window_thumbnails;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gint thumbnail_size;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> gboolean include_all_workspaces;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> TasklistGroupingType grouping;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> gboolean move_unminimized_windows;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> gboolean scroll_enable;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> gboolean middle_click_close;</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#if !defined(<span class='macro'>WNCKLET_INPROCESS<span class='macro_popup'>1</span></span>) &amp;&amp; !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> gboolean needs_hints;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> GtkIconTheme* icon_theme;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='comment'>/* Properties: */</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> GtkWidget* properties_dialog;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> GtkWidget* wayland_info_label;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> GtkWidget* show_current_radio;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> GtkWidget* show_all_radio;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> GtkWidget* window_thumbnail_box;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> GtkWidget* show_thumbnails_check;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> GtkWidget* thumbnail_size_label;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> GtkWidget* thumbnail_size_spin;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> GtkWidget* never_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> GtkWidget* auto_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> GtkWidget* always_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> GtkWidget* move_minimized_radio;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> GtkWidget* mouse_scroll_check;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> GtkWidget* middle_click_close_check;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> GtkWidget* change_workspace_radio;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> GtkWidget* minimized_windows_box;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> GtkWidget* window_grouping_box;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> GtkWidget* window_list_content_box;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GSettings* preview_settings;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line">} TasklistData;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> call_system_monitor(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_properties_dialog(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_help_dialog(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_about_dialog(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> destroy_tasklist(GtkWidget* widget, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_update(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;orientation == GTK_ORIENTATION_HORIZONTAL)</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> gtk_widget_set_size_request(<span class='macro'>GTK_WIDGET(tasklist-&gt;tasklist)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((gtk_widget_get_type ()))))))</span></span>, -1, tasklist-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> gtk_widget_set_size_request(<span class='macro'>GTK_WIDGET(tasklist-&gt;tasklist)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((gtk_widget_get_type ()))))))</span></span>, tasklist-&gt;size, -1);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> WnckTasklistGroupingType grouping;</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>switch</span> (tasklist-&gt;grouping)</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>case</span> TASKLIST_NEVER_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> grouping = WNCK_TASKLIST_NEVER_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='keyword'>case</span> TASKLIST_AUTO_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> grouping = WNCK_TASKLIST_AUTO_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='keyword'>case</span> TASKLIST_ALWAYS_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> grouping = WNCK_TASKLIST_ALWAYS_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> grouping = WNCK_TASKLIST_NEVER_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> wnck_tasklist_set_grouping(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, grouping);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> wnck_tasklist_set_include_all_workspaces(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;include_all_workspaces);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> wnck_tasklist_set_switch_workspace_on_unminimize(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;move_unminimized_windows);</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> wnck_tasklist_set_scroll_enabled (<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;scroll_enable);</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> wnck_tasklist_set_middle_click_close (<span class='macro'>WNCK_TASKLIST (tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;middle_click_close);</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='comment'>/* Not implemented for Wayland */</span></td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_apply_orientation(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> wnck_tasklist_set_orientation(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> wayland_tasklist_set_orientation(tasklist-&gt;tasklist, tasklist-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_set_button_relief(TasklistData* tasklist, GtkReliefStyle relief)</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> wnck_tasklist_set_button_relief(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, relief);</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* Not implemented for Wayland */</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>int</span>* tasklist_get_size_hint_list(TasklistData* tasklist, <span class='keyword'>int</span>* n_elements)</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>return</span> wnck_tasklist_get_size_hint_list(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='comment'>/* Not implemented for Wayland */</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> *n_elements = 0;</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> response_cb(GtkWidget* widget, <span class='keyword'>int</span> id, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='keyword'>if</span> (id == GTK_RESPONSE_HELP)</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> wncklet_display_help(widget, <span class='string_literal'>"mate-user-guide"</span>, <span class='string_literal'>"windowlist-prefs"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> gtk_widget_hide(widget);</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_realized(MatePanelApplet* applet, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> tasklist-&gt;icon_theme = gtk_icon_theme_get_for_screen(gtk_widget_get_screen(tasklist-&gt;applet));</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_change_orient(MatePanelApplet* applet, MatePanelAppletOrient orient, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> GtkOrientation new_orient;</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>switch</span> (orient)</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> new_orient = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> new_orient = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='keyword'>if</span> (new_orient == tasklist-&gt;orientation)</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> tasklist-&gt;orientation = new_orient;</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> tasklist_apply_orientation (tasklist);</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_change_background(MatePanelApplet* applet, MatePanelAppletBackgroundType type, GdkColor* color, cairo_pattern_t* pattern, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>switch</span> (type)</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> tasklist_set_button_relief(tasklist, GTK_RELIEF_NONE);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"><span class='keyword'>static</span> cairo_surface_t*</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line">preview_window_thumbnail (WnckWindow *wnck_window,</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> TasklistData *tasklist,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> *thumbnail_width,</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>int</span> *thumbnail_height,</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='keyword'>int</span> *thumbnail_scale)</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> Window win;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> cairo_surface_t *thumbnail;</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> <span class='keyword'>double</span> ratio;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='keyword'>int</span> width, height, scale;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> win = wnck_window_get_xid (wnck_window);</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='keyword'>if</span> ((window = gdk_x11_window_foreign_new_for_display (gdk_display_get_default (), win)) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> *thumbnail_scale = scale = gdk_window_get_scale_factor (window);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> width = gdk_window_get_width (window) * scale;</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> height = gdk_window_get_height (window) * scale;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='comment'>/* Scale to configured size while maintaining aspect ratio */</span></td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> <span class='keyword'>if</span> (width &gt; height)</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>int</span> max_size = <span class='macro'>MIN (width, tasklist-&gt;thumbnail_size * scale)<span class='macro_popup'>(((width) &lt; (tasklist-&gt;thumbnail_size * scale)) ? (width<br>) : (tasklist-&gt;thumbnail_size * scale))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> ratio = (<span class='keyword'>double</span>) max_size / (<span class='keyword'>double</span>) width;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> *thumbnail_width = max_size;</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> *thumbnail_height = (<span class='keyword'>int</span>) ((<span class='keyword'>double</span>) height * ratio);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>int</span> max_size = <span class='macro'>MIN (height, tasklist-&gt;thumbnail_size * scale)<span class='macro_popup'>(((height) &lt; (tasklist-&gt;thumbnail_size * scale)) ? (height<br>) : (tasklist-&gt;thumbnail_size * scale))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> ratio = (<span class='keyword'>double</span>) max_size / (<span class='keyword'>double</span>) height;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> *thumbnail_height = max_size;</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> *thumbnail_width = (<span class='keyword'>int</span>) ((<span class='keyword'>double</span>) width * ratio);</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> gdk_x11_display_error_trap_push (gdk_window_get_display (window));</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> thumbnail = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> *thumbnail_width,</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> *thumbnail_height);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> cairo_surface_set_device_scale (thumbnail, scale, scale);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> cr = cairo_create (thumbnail);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> cairo_scale (cr, ratio, ratio);</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> gdk_cairo_set_source_window (cr, window, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> cairo_paint (cr);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>if</span> (gdk_x11_display_error_trap_pop (gdk_window_get_display (window)))</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> cairo_surface_destroy (thumbnail);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> thumbnail = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> g_object_unref (window);</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>return</span> thumbnail;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> g_int_compare(gconstpointer a, gconstpointer b)</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gint a_val = <span class='macro'>GPOINTER_TO_INT(a)<span class='macro_popup'>((gint) (glong) (a))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> gint b_val = <span class='macro'>GPOINTER_TO_INT(b)<span class='macro_popup'>((gint) (glong) (b))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> <span class='keyword'>if</span> (a_val &gt; b_val) <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='keyword'>if</span> (a_val == b_val) <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> find_offset(GList *list, gdouble target)</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> GList *node = list;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='keyword'>while</span> (node != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> <span class='keyword'>int</span> value = <span class='macro'>GPOINTER_TO_INT(node-&gt;data)<span class='macro_popup'>((gint) (glong) (node-&gt;data))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> <span class='keyword'>if</span> (value &lt;= target)</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>return</span> value;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> node = node-&gt;next;</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"><span class='directive'>#define <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"><span id="start19"><span class='keyword'>static</span></span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line">preview_window_reposition (WnckTasklist *tl,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> TasklistData *tasklist,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>int</span> width,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='keyword'>int</span> height,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>int</span> scale)</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='comment'>/* Known issues:</span></td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='comment'>* - When grouping is toggled the previews won't be centered correctly until a new window is opened or one is closed.</span></td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> <span class='comment'>* - Previews are not shown at all for grouped windows, this function is not called when hovering over those.</span></td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span id="start18"><span id="end19">GdkMonitor</span></span> *monitor;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> gdouble x_pos, y_pos;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>int</span> x_offset, y_offset;</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='comment'>/* Get mouse position */</span></td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> gdk_device_get_position_double (gdk_seat_get_pointer (gdk_display_get_default_seat (gdk_display_get_default ())), <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;x_pos, &amp;y_pos);</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='comment'>/* Get geometry of monitor where tasklist is located to calculate correct position of preview */</span></td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> monitor = gdk_display_get_monitor_at_point (gdk_display_get_default (), x_pos, y_pos);</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> gdk_monitor_get_geometry (monitor, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='comment'>/* Get the position where the window list applet starts */</span></td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (gtk_widget_get_parent (<span class='macro'>GTK_WIDGET(tl)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tl)), ((gtk_widget_get_type ()))))))</span></span>)), &amp;x_offset, &amp;y_offset);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='comment'>/* Get panel orientation */</span></td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> orient = mate_panel_applet_get_orient (MATE_PANEL_APPLET (tasklist-&gt;applet));</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='comment'>/* Add padding to clear the panel */</span></td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span id="start17"><span id="end18"><span class='keyword'>switch</span></span></span> (<span id="start16"><span id="end17">orient</span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path15" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">15</div></td><td><div class="PathNav"><a href="#Path14" title="Previous event (14)">&#x2190;</a></div></td><td>Control jumps to 'case MATE_PANEL_APPLET_ORIENT_DOWN:' at line 382</td><td><div class="PathNav"><a href="#Path16" title="Next event (16)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> x_pos = monitor_geom.width + monitor_geom.x - width - tasklist-&gt;size - <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> x_pos = tasklist-&gt;size + <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> y_pos = monitor_geom.height + monitor_geom.y - height - tasklist-&gt;size - <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span id="start13"><span id="end14"><span id="start15"><span id="end16">y_pos</span></span></span></span> = <span id="start14"><span id="end15">tasklist</span></span>-&gt;size + <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> <span id="start11"><span id="start12"><span id="end13"><span class='keyword'>break</span></span></span></span>;</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> <span class='comment'>/* Collect the allocation.x/y values of each button into lists.</span></td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='comment'>* We need to iterate over all of them because grouped buttons will be the last children,</span></td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='comment'>* even though they are positioned at the beginning. And not all buttons will have the exact same width.</span></td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> <span class='comment'>* This allows us to avoid off-by-one errors that would cause the preview to be positioned over the adjacent button. */</span></td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> <span id="start10"><span id="end11"><span id="end12">GList</span></span></span> *alloc_x_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path16" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">16</div></td><td><div class="PathNav"><a href="#Path15" title="Previous event (15)">&#x2190;</a></div></td><td> Execution continues on line 392</td><td><div class="PathNav"><a href="#Path17" title="Next event (17)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> GList *alloc_y_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> GtkAllocation last_alloc;</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> GList* children = gtk_container_get_children (<span class='macro'>GTK_CONTAINER(tl)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tl)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span id="start9"><span id="end10"><span class='keyword'>while</span></span></span> (<span id="start8"><span class="mrange"><span id="end9">children</span></span> != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path17" class="msg msgEvent" style="margin-left:16ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">17</div></td><td><div class="PathNav"><a href="#Path16" title="Previous event (16)">&#x2190;</a></div></td><td>Assuming 'children' is equal to NULL</td><td><div class="PathNav"><a href="#Path18" title="Next event (18)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (gtk_widget_get_name (children-&gt;data), <span class='string_literal'>"tasklist-button"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> GtkAllocation alloc;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> gtk_widget_get_allocation (children-&gt;data, &amp;alloc);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='comment'>/* Skip grouped buttons: these usually have alloc width/heigh=1, except right after grouping is toggled.</span></td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='comment'>* Then simply open or close a new window to get the correct offset. */</span></td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (alloc.width &lt; 2 || alloc.height &lt; 2)</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> children = children-&gt;next;</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> <span class='comment'>/* Keep x and y offsets in sorted lists */</span></td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> alloc_x_list = g_list_insert_sorted (alloc_x_list, <span class='macro'>GINT_TO_POINTER(alloc.x)<span class='macro_popup'>((gpointer) (glong) (alloc.x))</span></span>, g_int_compare);</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> alloc_y_list = g_list_insert_sorted (alloc_y_list, <span class='macro'>GINT_TO_POINTER(alloc.y)<span class='macro_popup'>((gpointer) (glong) (alloc.y))</span></span>, g_int_compare);</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='comment'>/* The width/height from the last allocation will be used for centering the preview.</span></td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='comment'>* It might be off by a pixel because not all buttons have the exact same width/height but this isn't critical. */</span></td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> last_alloc = alloc;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> children = children-&gt;next;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='comment'>/* Center preview at the midpoint of the tasklist button */</span></td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span id="start7"><span id="end8"><span class='keyword'>if</span></span></span> (<span id="start6"><span id="end7"><span class='variable'>orient<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>17.1</div></td><td>'orient' is not equal to MATE_PANEL_APPLET_ORIENT_LEFT</td></tr></tbody></table></span></span></span> == MATE_PANEL_APPLET_ORIENT_LEFT || <span id="start5"><span id="end6"><span class='variable'>orient<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>17.2</div></td><td>'orient' is not equal to MATE_PANEL_APPLET_ORIENT_RIGHT</td></tr></tbody></table></span></span></span> == MATE_PANEL_APPLET_ORIENT_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='comment'>/* Vertical panel */</span></td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> y_pos = y_offset + find_offset (alloc_y_list, y_pos - y_offset) + (last_alloc.height - height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> y_pos = y_pos &lt; <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> ? <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> : y_pos;</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>else</span> <span id="start4"><span id="end5"><span class='keyword'>if</span></span></span> (<span id="start3"><span id="end4"><span class='variable'>orient<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>17.3</div></td><td>'orient' is not equal to MATE_PANEL_APPLET_ORIENT_UP</td></tr></tbody></table></span></span></span> == MATE_PANEL_APPLET_ORIENT_UP || <span id="start2"><span id="end3"><span class='variable'>orient<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>17.4</div></td><td>'orient' is equal to MATE_PANEL_APPLET_ORIENT_DOWN</td></tr></tbody></table></span></span></span> == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path18" class="msg msgControl" style="margin-left:14ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">18</div></td><td><div class="PathNav"><a href="#Path17" title="Previous event (17)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#EndPath" title="Next event (19)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> <span class='comment'>/* Horizontal panel */</span></td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span id="start1"><span id="end2">x_pos</span></span> = <span id="start0"><span id="end1">x_offset</span></span> + find_offset (alloc_x_list, x_pos - x_offset) + (<span class="mrange">last_alloc.width</span> <span id="end0">-</span> width) / 2;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:101ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">19</div></td><td><div class="PathNav"><a href="#Path18" title="Previous event (18)">&#x2190;</a></div></td><td>The left operand of '-' is a garbage value</td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> x_pos = x_pos &lt; <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> ? <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> : x_pos;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> g_list_free (alloc_x_list);</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> g_list_free (alloc_y_list);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> gtk_window_move (<span class='macro'>GTK_WINDOW (tasklist-&gt;preview)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;preview)), ((gtk_window_get_type ()))))))</span></span>, x_pos, y_pos);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"><span class='keyword'>static</span> gboolean preview_window_draw (GtkWidget *widget, cairo_t *cr, cairo_surface_t *thumbnail)</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> gtk_render_icon_surface (context, cr, thumbnail, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"><span class='keyword'>static</span> gboolean applet_enter_notify_event (WnckTasklist *tl, GList *wnck_windows, TasklistData *tasklist)</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span id="start51">cairo_surface_t</span> *thumbnail;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> WnckWindow *wnck_window = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> <span class='keyword'>int</span> n_windows;</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>int</span> thumbnail_width;</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>int</span> thumbnail_height;</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>int</span> thumbnail_scale;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span id="start50"><span id="end51"><span class='keyword'>if</span></span></span> (<span id="start49"><span class="mrange"><span id="end50">tasklist</span></span>-&gt;preview != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path1" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">1</div></td><td>Assuming field 'preview' is equal to NULL</td><td><div class="PathNav"><a href="#Path2" title="Next event (2)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> gtk_widget_destroy (tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tasklist-&gt;preview = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span id="start48"><span id="end49"><span class='keyword'>if</span></span></span> (<span id="start47"><span class="mrange"><span id="end48">!</span></span>tasklist-&gt;show_window_thumbnails</span> || <span id="start46"><span class="mrange"><span id="end47">wnck_windows</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path2" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">2</div></td><td><div class="PathNav"><a href="#Path1" title="Previous event (1)">&#x2190;</a></div></td><td>Assuming field 'show_window_thumbnails' is not equal to 0</td><td><div class="PathNav"><a href="#Path3" title="Next event (3)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path3" class="msg msgEvent" style="margin-left:50ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">3</div></td><td><div class="PathNav"><a href="#Path2" title="Previous event (2)">&#x2190;</a></div></td><td>Assuming 'wnck_windows' is not equal to NULL</td><td><div class="PathNav"><a href="#Path4" title="Next event (4)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path4" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">4</div></td><td><div class="PathNav"><a href="#Path3" title="Previous event (3)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path5" title="Next event (5)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> <span id="start43"><span id="end44"><span id="start45"><span id="end46">n_windows</span></span></span></span> = g_list_length (<span id="start44"><span id="end45">wnck_windows</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> <span class='comment'>/* TODO: Display a list of stacked thumbnails for grouped windows. */</span></td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span id="start42"><span id="end43"><span class='keyword'>if</span></span></span> (<span id="start41"><span class="mrange"><span id="end42">n_windows</span></span> == 1</span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path5" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">5</div></td><td><div class="PathNav"><a href="#Path4" title="Previous event (4)">&#x2190;</a></div></td><td>Assuming 'n_windows' is equal to 1</td><td><div class="PathNav"><a href="#Path6" title="Next event (6)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path6" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">6</div></td><td><div class="PathNav"><a href="#Path5" title="Previous event (5)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path7" title="Next event (7)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> <span id="start38"><span id="end39"><span id="start40"><span id="end41">GList</span></span></span></span>* l = <span id="start39"><span id="end40">wnck_windows</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span id="start37"><span id="end38"><span class='keyword'>if</span></span></span> (<span id="start36"><span id="end37"><span class='variable'>l<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>6.1</div></td><td>'l' is not equal to NULL</td></tr></tbody></table></span></span></span> != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path7" class="msg msgControl" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">7</div></td><td><div class="PathNav"><a href="#Path6" title="Previous event (6)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path8" title="Next event (8)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span id="start33"><span id="end34"><span id="start35"><span id="end36">wnck_window</span></span></span></span> = (WnckWindow*)<span id="start34"><span id="end35">l</span></span>-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span id="start32"><span id="end33"><span class='keyword'>if</span></span></span> (<span id="start31"><span class="mrange"><span id="end32">wnck_window</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path8" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">8</div></td><td><div class="PathNav"><a href="#Path7" title="Previous event (7)">&#x2190;</a></div></td><td>Assuming 'wnck_window' is not equal to NULL</td><td><div class="PathNav"><a href="#Path9" title="Next event (9)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path9" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">9</div></td><td><div class="PathNav"><a href="#Path8" title="Previous event (8)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path10" title="Next event (10)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> <span class='comment'>/* Do not show preview if window is not visible nor in current workspace */</span></td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span id="start30"><span id="end31"><span class='keyword'>if</span></span></span> (<span id="start28"><span class="mrange"><span id="end29">!</span></span>wnck_window_is_visible_on_workspace (<span id="start29"><span id="end30">wnck_window</span></span>,</td></tr></span>
+<tr><td class="num"></td><td class="line"><div id="Path10" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">10</div></td><td><div class="PathNav"><a href="#Path9" title="Previous event (9)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path11" title="Next event (11)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path11" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">11</div></td><td><div class="PathNav"><a href="#Path10" title="Previous event (10)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path12" title="Next event (12)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class="mrange">wnck_screen_get_active_workspace (wnck_screen_get_default ()))</span>)</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span id="start25"><span id="end26"><span id="start27"><span id="end28">thumbnail</span></span></span></span> = preview_window_thumbnail (<span id="start26"><span id="end27">wnck_window</span></span>, tasklist, &amp;thumbnail_width, &amp;thumbnail_height, &amp;thumbnail_scale);</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> <span id="start24"><span id="end25"><span class='keyword'>if</span></span></span> (<span id="start23"><span class="mrange"><span id="end24">thumbnail</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path12" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">12</div></td><td><div class="PathNav"><a href="#Path11" title="Previous event (11)">&#x2190;</a></div></td><td>Assuming 'thumbnail' is not equal to NULL</td><td><div class="PathNav"><a href="#Path13" title="Next event (13)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path13" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">13</div></td><td><div class="PathNav"><a href="#Path12" title="Previous event (12)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path14" title="Next event (14)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>/* Create window to display preview */</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span id="start20"><span id="end21"><span id="start22"><span id="end23">tasklist</span></span></span></span>-&gt;preview = gtk_window_new (<span id="start21"><span id="end22">GTK_WINDOW_POPUP</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> gtk_widget_set_app_paintable (tasklist-&gt;preview, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> gtk_window_set_default_size (<span class='macro'>GTK_WINDOW (tasklist-&gt;preview)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;preview)), ((gtk_window_get_type ()))))))</span></span>, thumbnail_width/thumbnail_scale, thumbnail_height/thumbnail_scale);</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> gtk_window_set_resizable (<span class='macro'>GTK_WINDOW (tasklist-&gt;preview)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;preview)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> <span class="mrange"><span id="end20">preview_window_reposition</span> (tl, tasklist, thumbnail_width/thumbnail_scale, thumbnail_height/thumbnail_scale, thumbnail_scale)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path14" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">14</div></td><td><div class="PathNav"><a href="#Path13" title="Previous event (13)">&#x2190;</a></div></td><td>Calling 'preview_window_reposition'</td><td><div class="PathNav"><a href="#Path15" title="Next event (15)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> gtk_widget_show (tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> g_signal_connect_data (tasklist-&gt;preview, <span class='string_literal'>"draw"</span>,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='macro'>G_CALLBACK (preview_window_draw)<span class='macro_popup'>((GCallback) (preview_window_draw))</span></span>, thumbnail,</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> (GClosureNotify) <span class='macro'>G_CALLBACK (cairo_surface_destroy)<span class='macro_popup'>((GCallback) (cairo_surface_destroy))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> gboolean applet_leave_notify_event (WnckTasklist *tl, GList *wnck_windows, TasklistData *tasklist)</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;preview != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> gtk_widget_destroy (tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> tasklist-&gt;preview = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_change_pixel_size(MatePanelApplet* applet, gint size, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> tasklist-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='comment'>/* TODO: this is sad, should be used a function to retrieve applications from</span></td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> <span class='comment'>* .desktop or some like that. */</span></td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* system_monitors[] = {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='string_literal'>"mate-system-monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='string_literal'>"gnome-system-monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry tasklist_menu_actions[] = {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='string_literal'>"TasklistSystemMonitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='string_literal'>"utilities-system-monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_System Monitor"</span>)<span class='macro_popup'>("_System Monitor")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='macro'>G_CALLBACK(call_system_monitor)<span class='macro_popup'>((GCallback) (call_system_monitor))</span></span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='string_literal'>"TasklistPreferences"</span>,</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='string_literal'>"document-properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_Preferences"</span>)<span class='macro_popup'>("_Preferences")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='macro'>G_CALLBACK(display_properties_dialog)<span class='macro_popup'>((GCallback) (display_properties_dialog))</span></span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> <span class='string_literal'>"TasklistHelp"</span>,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> <span class='string_literal'>"help-browser"</span>,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_Help"</span>)<span class='macro_popup'>("_Help")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='macro'>G_CALLBACK(display_help_dialog)<span class='macro_popup'>((GCallback) (display_help_dialog))</span></span></td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> <span class='string_literal'>"TasklistAbout"</span>,</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='string_literal'>"help-about"</span>,</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_About"</span>)<span class='macro_popup'>("_About")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> <span class='macro'>G_CALLBACK(display_about_dialog)<span class='macro_popup'>((GCallback) (display_about_dialog))</span></span></td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_properties_update_content_radio(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;show_current_radio == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;include_all_workspaces)</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> button = tasklist-&gt;show_all_radio;</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> button = tasklist-&gt;show_current_radio;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>if</span> (!gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;minimized_windows_box, tasklist-&gt;include_all_workspaces);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_all_workspaces_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gboolean value;</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> value = g_settings_get_boolean(settings, key);</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> tasklist-&gt;include_all_workspaces = (value != 0);</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> tasklist_properties_update_content_radio(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_update_thumbnail_size_spin(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> <span class='keyword'>if</span> (!tasklist-&gt;thumbnail_size)</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> button = tasklist-&gt;thumbnail_size_spin;</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> gtk_spin_button_set_value(<span class='macro'>GTK_SPIN_BUTTON(button)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_spin_button_get_type ()))))))</span></span>, (gdouble)tasklist-&gt;thumbnail_size);</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> show_thumbnails_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> tasklist-&gt;show_window_thumbnails = g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> thumbnail_size_changed(GSettings *settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> tasklist-&gt;thumbnail_size = g_settings_get_int(settings, key);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> tasklist_update_thumbnail_size_spin(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"><span class='keyword'>static</span> GtkWidget* get_grouping_button(TasklistData* tasklist, TasklistGroupingType type)</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>switch</span> (type)</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>case</span> TASKLIST_NEVER_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='keyword'>return</span> tasklist-&gt;never_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>case</span> TASKLIST_AUTO_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span> tasklist-&gt;auto_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> <span class='keyword'>case</span> TASKLIST_ALWAYS_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>return</span> tasklist-&gt;always_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> group_windows_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> TasklistGroupingType type;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> type = g_settings_get_enum (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> tasklist-&gt;grouping = type;</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> button = get_grouping_button(tasklist, type);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>if</span> (button &amp;&amp; !gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_update_unminimization_radio(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;move_minimized_radio == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;move_unminimized_windows)</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> button = tasklist-&gt;move_minimized_radio;</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> button = tasklist-&gt;change_workspace_radio;</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>if</span> (!gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> move_unminimized_windows_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> gboolean value;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> value = g_settings_get_boolean(settings, key);</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> tasklist-&gt;move_unminimized_windows = (value != 0);</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> tasklist_update_unminimization_radio(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> scroll_enabled_changed (GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> tasklist-&gt;scroll_enable = g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> middle_click_close_changed (GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> tasklist-&gt;middle_click_close = g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_gsettings(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> tasklist-&gt;settings = mate_panel_applet_settings_new (MATE_PANEL_APPLET (tasklist-&gt;applet), <span class='macro'>WINDOW_LIST_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::display-all-workspaces"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='macro'>G_CALLBACK (display_all_workspaces_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> tasklist-&gt;preview_settings = mate_panel_applet_settings_new (MATE_PANEL_APPLET (tasklist-&gt;applet), <span class='macro'>WINDOW_LIST_PREVIEW_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list-previews"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;preview_settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::show-window-thumbnails"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> <span class='macro'>G_CALLBACK (show_thumbnails_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;preview_settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::thumbnail-window-size"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> <span class='macro'>G_CALLBACK (thumbnail_size_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::group-windows"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> <span class='macro'>G_CALLBACK (group_windows_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::move-unminimized-windows"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> <span class='macro'>G_CALLBACK (move_unminimized_windows_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::scroll-enabled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> <span class='macro'>G_CALLBACK (scroll_enabled_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::middle-click-close"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> <span class='macro'>G_CALLBACK (middle_click_close_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_size_allocate(GtkWidget *widget, GtkAllocation *allocation, TasklistData *tasklist)</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> <span class='keyword'>int</span> len;</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span>* size_hints;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> size_hints = tasklist_get_size_hint_list (tasklist, &amp;len);</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> <span class='macro'>g_assert(len % 2 == 0)<span class='macro_popup'>do { if (len % 2 == 0) ; else g_assertion_message_expr (((gchar<br>*) 0), "window-list.c", 759, ((const char*) (__func__)), "len % 2 == 0"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"><span class='directive'>#if !defined(<span class='macro'>WNCKLET_INPROCESS<span class='macro_popup'>1</span></span>) &amp;&amp; !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> <span class='comment'>/* HACK: When loading the WnckTasklist initially, it reports size hints as though there were</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='comment'>* no elements in the Tasklist. This causes a rendering issue when built out-of-process in</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='comment'>* HiDPI displays. We keep a flag to skip size hinting until WnckTasklist has something to</span></td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> <span class='comment'>* show. */</span></td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> <span class='keyword'>if</span> (!tasklist-&gt;needs_hints)</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; len; i++)</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> <span class='keyword'>if</span> (size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> tasklist-&gt;needs_hints = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;needs_hints)</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> mate_panel_applet_set_size_hints(MATE_PANEL_APPLET(tasklist-&gt;applet), size_hints, len, 0);</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"><span class='comment'>/* Currently only used on X11, but should work on Wayland as well when needed */</span></td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"><span class='keyword'>static</span> GdkPixbuf* icon_loader_func(<span class='keyword'>const</span> <span class='keyword'>char</span>* icon, <span class='keyword'>int</span> size, <span class='keyword'>unsigned</span> <span class='keyword'>int</span> flags, <span class='keyword'>void</span>* data)</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> TasklistData* tasklist;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> GdkPixbuf* retval;</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='keyword'>char</span>* icon_no_extension;</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>char</span>* p;</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> tasklist = data;</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='keyword'>if</span> (icon == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strcmp(icon, <span class='string_literal'>""</span>) == 0)</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='keyword'>if</span> (g_path_is_absolute(icon))</td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='keyword'>if</span> (g_file_test(icon, G_FILE_TEST_EXISTS))</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='keyword'>return</span> gdk_pixbuf_new_from_file_at_size(icon, size, size, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='keyword'>char</span>* basename;</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> basename = g_path_get_basename(icon);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> retval = icon_loader_func(basename, size, flags, data);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> g_free(basename);</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> <span class='comment'>/* This is needed because some .desktop files have an icon name *and*</span></td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> <span class='comment'>* an extension as icon */</span></td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> icon_no_extension = <span class='macro'>g_strdup(icon)<span class='macro_popup'>g_strdup_inline (icon)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> p = strrchr(icon_no_extension, '.');</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> <span class='keyword'>if</span> (p &amp;&amp; (strcmp(p, <span class='string_literal'>".png"</span>) == 0 || strcmp(p, <span class='string_literal'>".xpm"</span>) == 0 || strcmp(p, <span class='string_literal'>".svg"</span>) == 0))</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> *p = 0;</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> retval = gtk_icon_theme_load_icon(tasklist-&gt;icon_theme, icon_no_extension, size, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> g_free(icon_no_extension);</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">gboolean window_list_applet_fill(MatePanelApplet* applet)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> TasklistData* tasklist;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> GtkActionGroup* action_group;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> tasklist = <span class='macro'>g_new0(TasklistData, 1)<span class='macro_popup'>((TasklistData *) g_malloc0_n ((1), sizeof (TasklistData)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> tasklist-&gt;applet = <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> screen = gdk_screen_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='string_literal'>".mate-panel-menu-bar button,\n"</span></td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> <span class='string_literal'>" #tasklist-button {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='string_literal'>" padding: 0px;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> <span class='string_literal'>" margin: 0px;\n }"</span>,</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> gtk_style_context_add_provider_for_screen (screen,</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> mate_panel_applet_set_flags(MATE_PANEL_APPLET(tasklist-&gt;applet), MATE_PANEL_APPLET_EXPAND_MAJOR | MATE_PANEL_APPLET_EXPAND_MINOR | MATE_PANEL_APPLET_HAS_HANDLE);</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> setup_gsettings(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> tasklist-&gt;include_all_workspaces = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"display-all-workspaces"</span>);</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> tasklist-&gt;show_window_thumbnails = g_settings_get_boolean (tasklist-&gt;preview_settings, <span class='string_literal'>"show-window-thumbnails"</span>);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> tasklist-&gt;thumbnail_size = g_settings_get_int (tasklist-&gt;preview_settings, <span class='string_literal'>"thumbnail-window-size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> tasklist-&gt;grouping = g_settings_get_enum (tasklist-&gt;settings, <span class='string_literal'>"group-windows"</span>);</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> tasklist-&gt;move_unminimized_windows = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"move-unminimized-windows"</span>);</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> tasklist-&gt;scroll_enable = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"scroll-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> tasklist-&gt;middle_click_close = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"middle-click-close"</span>);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> tasklist-&gt;size = mate_panel_applet_get_size(applet);</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"><span class='directive'>#if !defined(<span class='macro'>WNCKLET_INPROCESS<span class='macro_popup'>1</span></span>) &amp;&amp; !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> tasklist-&gt;needs_hints = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> <span class='keyword'>switch</span> (mate_panel_applet_get_orient(applet))</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> tasklist-&gt;orientation = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> tasklist-&gt;orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> tasklist-&gt;tasklist = wnck_tasklist_new();</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> wnck_tasklist_set_icon_loader(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, icon_loader_func, tasklist, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;tasklist, <span class='string_literal'>"task-enter-notify"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-enter-notify"<br>), (((GCallback) (applet_enter_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> <span class='macro'>G_CALLBACK (applet_enter_notify_event),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-enter-notify"<br>), (((GCallback) (applet_enter_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-enter-notify"<br>), (((GCallback) (applet_enter_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;tasklist, <span class='string_literal'>"task-leave-notify"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-leave-notify"<br>), (((GCallback) (applet_leave_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> <span class='macro'>G_CALLBACK (applet_leave_notify_event),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-leave-notify"<br>), (((GCallback) (applet_leave_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-leave-notify"<br>), (((GCallback) (applet_leave_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> tasklist-&gt;tasklist = wayland_tasklist_new();</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> tasklist-&gt;tasklist = gtk_label_new (<span class='string_literal'>"[Tasklist not supported on this platform]"</span>);</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> tasklist_apply_orientation(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;tasklist, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("destroy"), (<br>((GCallback) (destroy_tasklist))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> <span class='macro'>G_CALLBACK (destroy_tasklist),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("destroy"), (<br>((GCallback) (destroy_tasklist))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("destroy"), (<br>((GCallback) (destroy_tasklist))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"size-allocate"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("size-allocate"<br>), (((GCallback) (applet_size_allocate))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> <span class='macro'>G_CALLBACK (applet_size_allocate),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("size-allocate"<br>), (((GCallback) (applet_size_allocate))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("size-allocate"<br>), (((GCallback) (applet_size_allocate))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> gtk_container_add(<span class='macro'>GTK_CONTAINER(tasklist-&gt;applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;applet)), ((gtk_container_get_type ()))))))</span></span>, tasklist-&gt;tasklist);</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"realize"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("realize"), ((<br>(GCallback) (applet_realized))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> <span class='macro'>G_CALLBACK (applet_realized),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("realize"), ((<br>(GCallback) (applet_realized))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("realize"), ((<br>(GCallback) (applet_realized))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"change-orient"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-orient"<br>), (((GCallback) (applet_change_orient))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='macro'>G_CALLBACK (applet_change_orient),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-orient"<br>), (((GCallback) (applet_change_orient))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-orient"<br>), (((GCallback) (applet_change_orient))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"change-size"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-size")<br>, (((GCallback) (applet_change_pixel_size))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='macro'>G_CALLBACK (applet_change_pixel_size),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-size")<br>, (((GCallback) (applet_change_pixel_size))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-size")<br>, (((GCallback) (applet_change_pixel_size))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"change-background"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-background"<br>), (((GCallback) (applet_change_background))), (tasklist), ((<br>void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='macro'>G_CALLBACK(applet_change_background),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-background"<br>), (((GCallback) (applet_change_background))), (tasklist), ((<br>void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-background"<br>), (((GCallback) (applet_change_background))), (tasklist), ((<br>void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> action_group = gtk_action_group_new(<span class='string_literal'>"Tasklist Applet Actions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> gtk_action_group_set_translation_domain(action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> gtk_action_group_add_actions(action_group, tasklist_menu_actions, <span class='macro'>G_N_ELEMENTS(tasklist_menu_actions)<span class='macro_popup'>(sizeof (tasklist_menu_actions) / sizeof ((tasklist_menu_actions<br>)[0]))</span></span>, tasklist);</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='comment'>/* disable the item of system monitor, if not exists.</span></td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='comment'>* example, mate-system-monitor, o gnome-system-monitor */</span></td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>char</span>* programpath;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> gsize i;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>G_N_ELEMENTS(system_monitors)<span class='macro_popup'>(sizeof (system_monitors) / sizeof ((system_monitors)[0]))</span></span>; i += 1)</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> programpath = g_find_program_in_path(system_monitors[i]);</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> <span class='keyword'>if</span> (programpath != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> g_free(programpath);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> <span class='comment'>/* we give up */</span></td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>goto</span> _system_monitor_found;</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='comment'>/* search another */</span></td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='comment'>/* system monitor not found */</span></td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> gtk_action_set_visible(gtk_action_group_get_action(action_group, <span class='string_literal'>"TasklistSystemMonitor"</span>), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> _system_monitor_found:;</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> <span class='comment'>/* end of system monitor item */</span></td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> mate_panel_applet_setup_menu_from_resource (MATE_PANEL_APPLET (tasklist-&gt;applet),</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='macro'>WNCKLET_RESOURCE_PATH<span class='macro_popup'>"/org/mate/panel/applet/wncklet/"</span></span> <span class='string_literal'>"window-list-menu.xml"</span>,</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_get_locked_down(MATE_PANEL_APPLET(tasklist-&gt;applet)))</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> GtkAction* action;</td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> action = gtk_action_group_get_action(action_group, <span class='string_literal'>"TasklistPreferences"</span>);</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> gtk_action_set_visible(action, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> g_object_unref(action_group);</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> gtk_widget_show(tasklist-&gt;tasklist);</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gtk_widget_show(tasklist-&gt;applet);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> call_system_monitor(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> gsize i;</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>G_N_ELEMENTS(system_monitors)<span class='macro_popup'>(sizeof (system_monitors) / sizeof ((system_monitors)[0]))</span></span>; i += 1)</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='keyword'>char</span> *programpath = g_find_program_in_path(system_monitors[i]);</td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> <span class='keyword'>if</span> (programpath != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> g_free(programpath);</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> mate_gdk_spawn_command_line_on_screen(gtk_widget_get_screen(tasklist-&gt;applet),</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> system_monitors[i],</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_help_dialog(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> wncklet_display_help(tasklist-&gt;applet, <span class='string_literal'>"mate-user-guide"</span>, <span class='string_literal'>"windowlist"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_about_dialog(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> gchar* authors[] = {</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='string_literal'>"Perberos &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='string_literal'>"Steve Zesch &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='string_literal'>"Stefano Karapetsas &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> <span class='string_literal'>"Alexander Larsson &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span>* documenters [] = {</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> <span class='string_literal'>"Sun GNOME Documentation Team &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_show_about_dialog(<span class='macro'>GTK_WINDOW(tasklist-&gt;applet)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;applet)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> <span class='string_literal'>"program-name"</span>, <span class='macro'>_(<span class='string_literal'>"Window List"</span>)<span class='macro_popup'>gettext ("Window List")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='string_literal'>"title"</span>, <span class='macro'>_(<span class='string_literal'>"About Window List"</span>)<span class='macro_popup'>gettext ("About Window List")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='string_literal'>"authors"</span>, authors,</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='string_literal'>"comments"</span>, <span class='macro'>_(<span class='string_literal'>"The Window List shows a list of all windows in a set of buttons and lets you browse them."</span>)<span class='macro_popup'>gettext ("The Window List shows a list of all windows in a set of buttons and lets you browse them."<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='string_literal'>"copyright"</span>, <span class='macro'>_(<span class='string_literal'>"Copyright \xc2\xa9 2002 Red Hat, Inc.\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 2002 Red Hat, Inc.\n" "Copyright \xc2\xa9 2011 Perberos\n"<br> "Copyright \xc2\xa9 2012-2021 MATE developers")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2011 Perberos\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 2002 Red Hat, Inc.\n" "Copyright \xc2\xa9 2011 Perberos\n"<br> "Copyright \xc2\xa9 2012-2021 MATE developers")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2012-2021 MATE developers"</span>)<span class='macro_popup'>gettext ("Copyright \xc2\xa9 2002 Red Hat, Inc.\n" "Copyright \xc2\xa9 2011 Perberos\n"<br> "Copyright \xc2\xa9 2012-2021 MATE developers")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='string_literal'>"documenters"</span>, documenters,</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> <span class='string_literal'>"icon-name"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='string_literal'>"logo-icon-name"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='string_literal'>"translator-credits"</span>, <span class='macro'>_(<span class='string_literal'>"translator-credits"</span>)<span class='macro_popup'>gettext ("translator-credits")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='string_literal'>"version"</span>, <span class='macro'>VERSION<span class='macro_popup'>"1.29.0"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> <span class='string_literal'>"website"</span>, <span class='macro'>PACKAGE_URL<span class='macro_popup'>"https://mate-desktop.org"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> group_windows_toggled(GtkToggleButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>if</span> (gtk_toggle_button_get_active(button))</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> gchar *value;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> value = g_object_get_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> g_settings_set_string (tasklist-&gt;settings, <span class='string_literal'>"group-windows"</span>, value);</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> thumbnail_size_spin_changed(GtkSpinButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> g_settings_set_int(tasklist-&gt;preview_settings, <span class='string_literal'>"thumbnail-window-size"</span>, gtk_spin_button_get_value_as_int(button));</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> move_minimized_toggled(GtkToggleButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> g_settings_set_boolean(tasklist-&gt;settings, <span class='string_literal'>"move-unminimized-windows"</span>, gtk_toggle_button_get_active(button));</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_all_workspaces_toggled(GtkToggleButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> g_settings_set_boolean(tasklist-&gt;settings, <span class='string_literal'>"display-all-workspaces"</span>, gtk_toggle_button_get_active(button));</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"><span class='directive'>#define <span class='macro'>WID(s)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, s))), ((gtk_widget_get_type<br> ()))))))</span></span> <span class='macro'>GTK_WIDGET(gtk_builder_get_object(builder, s))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, s))), ((gtk_widget_get_type<br> ()))))))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_sensitivity(TasklistData* tasklist, GtkBuilder* builder, <span class='keyword'>const</span> <span class='keyword'>char</span>* wid1, <span class='keyword'>const</span> <span class='keyword'>char</span>* wid2, <span class='keyword'>const</span> <span class='keyword'>char</span>* wid3, <span class='keyword'>const</span> <span class='keyword'>char</span>* key)</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> GtkWidget* w;</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>if</span> (g_settings_is_writable(tasklist-&gt;settings, key))</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> w = <span class='macro'>WID(wid1)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, wid1))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> <span class='macro'>g_assert(w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "window-list.c", 1097, ((const char*) (__func__))<br>, "w != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> gtk_widget_set_sensitive(w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> <span class='keyword'>if</span> (wid2 != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> w = <span class='macro'>WID(wid2)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, wid2))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='macro'>g_assert(w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "window-list.c", 1103, ((const char*) (__func__))<br>, "w != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> gtk_widget_set_sensitive(w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> <span class='keyword'>if</span> (wid3 != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> w = <span class='macro'>WID(wid3)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, wid3))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> <span class='macro'>g_assert(w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "window-list.c", 1110, ((const char*) (__func__))<br>, "w != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> gtk_widget_set_sensitive(w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_dialog_wayland(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> gtk_widget_show(tasklist-&gt;wayland_info_label);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;window_list_content_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;window_grouping_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;minimized_windows_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;window_thumbnail_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_dialog(GtkBuilder* builder, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> tasklist-&gt;wayland_info_label = <span class='macro'>WID(<span class='string_literal'>"wayland_info_label"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "wayland_info_label"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> tasklist-&gt;show_current_radio = <span class='macro'>WID(<span class='string_literal'>"show_current_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "show_current_radio"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> tasklist-&gt;show_all_radio = <span class='macro'>WID(<span class='string_literal'>"show_all_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "show_all_radio"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> setup_sensitivity(tasklist, builder, <span class='string_literal'>"show_current_radio"</span>, <span class='string_literal'>"show_all_radio"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"display-all-workspaces"</span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> tasklist-&gt;never_group_radio = <span class='macro'>WID(<span class='string_literal'>"never_group_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "never_group_radio"))), (<br>(gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> tasklist-&gt;auto_group_radio = <span class='macro'>WID(<span class='string_literal'>"auto_group_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "auto_group_radio"))), (<br>(gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> tasklist-&gt;always_group_radio = <span class='macro'>WID(<span class='string_literal'>"always_group_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "always_group_radio"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> setup_sensitivity(tasklist, builder, <span class='string_literal'>"never_group_radio"</span>, <span class='string_literal'>"auto_group_radio"</span>, <span class='string_literal'>"always_group_radio"</span>, <span class='string_literal'>"group-windows"</span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> tasklist-&gt;window_thumbnail_box = <span class='macro'>WID(<span class='string_literal'>"window_thumbnail_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_thumbnail_box"))<br>), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> tasklist-&gt;show_thumbnails_check = <span class='macro'>WID(<span class='string_literal'>"show_thumbnails_check"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "show_thumbnails_check")<br>)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> tasklist-&gt;thumbnail_size_label = <span class='macro'>WID(<span class='string_literal'>"thumbnail_size_label"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "thumbnail_size_label"))<br>), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> tasklist-&gt;thumbnail_size_spin = <span class='macro'>WID(<span class='string_literal'>"thumbnail_size_spin"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "thumbnail_size_spin")))<br>, ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> g_settings_bind(tasklist-&gt;preview_settings, <span class='string_literal'>"show-window-thumbnails"</span>, tasklist-&gt;show_thumbnails_check, <span class='string_literal'>"active"</span>, G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>if</span> (gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(tasklist-&gt;show_thumbnails_check)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;show_thumbnails_check)), ((gtk_toggle_button_get_type<br> ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_label, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_spin, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_label, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_spin, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> g_object_bind_property(tasklist-&gt;show_thumbnails_check, <span class='string_literal'>"active"</span>, tasklist-&gt;thumbnail_size_label, <span class='string_literal'>"sensitive"</span>, G_BINDING_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> g_object_bind_property(tasklist-&gt;show_thumbnails_check, <span class='string_literal'>"active"</span>, tasklist-&gt;thumbnail_size_spin, <span class='string_literal'>"sensitive"</span>, G_BINDING_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> gtk_widget_hide(<span class='macro'>WID(<span class='string_literal'>"window_thumbnail_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_thumbnail_box"))<br>), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> tasklist-&gt;move_minimized_radio = <span class='macro'>WID(<span class='string_literal'>"move_minimized_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "move_minimized_radio"))<br>), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> tasklist-&gt;change_workspace_radio = <span class='macro'>WID(<span class='string_literal'>"change_workspace_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "change_workspace_radio"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> tasklist-&gt;mouse_scroll_check = <span class='macro'>WID(<span class='string_literal'>"mouse_scroll_check"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "mouse_scroll_check"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> tasklist-&gt;middle_click_close_check = <span class='macro'>WID(<span class='string_literal'>"middle_click_close_check"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "middle_click_close_check"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> tasklist-&gt;minimized_windows_box = <span class='macro'>WID(<span class='string_literal'>"minimized_windows_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "minimized_windows_box")<br>)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> tasklist-&gt;window_grouping_box = <span class='macro'>WID(<span class='string_literal'>"window_grouping_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_grouping_box")))<br>, ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> tasklist-&gt;window_list_content_box = <span class='macro'>WID(<span class='string_literal'>"window_list_content_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_list_content_box"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> setup_sensitivity(tasklist, builder, <span class='string_literal'>"move_minimized_radio"</span>, <span class='string_literal'>"change_workspace_radio"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"move-unminimized-windows"</span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> <span class='comment'>/* Window grouping: */</span></td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> button = get_grouping_button(tasklist, tasklist-&gt;grouping);</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> g_object_set_data(<span class='macro'>G_OBJECT(tasklist-&gt;never_group_radio)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;never_group_radio)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>, <span class='string_literal'>"never"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> g_object_set_data(<span class='macro'>G_OBJECT(tasklist-&gt;auto_group_radio)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;auto_group_radio)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>, <span class='string_literal'>"auto"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> g_object_set_data(<span class='macro'>G_OBJECT(tasklist-&gt;always_group_radio)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;always_group_radio)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>, <span class='string_literal'>"always"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;never_group_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;never_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='macro'>(GCallback) group_windows_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;never_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;never_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;auto_group_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;auto_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> <span class='macro'>(GCallback) group_windows_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;auto_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;auto_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;always_group_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;always_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='macro'>(GCallback) group_windows_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;always_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;always_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> <span class='comment'>/* Mouse Scroll: */</span></td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> g_settings_bind (tasklist-&gt;settings,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> <span class='string_literal'>"scroll-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> tasklist-&gt;mouse_scroll_check,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='string_literal'>"active"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> <span class='comment'>/* Middle mouse click to close window: */</span></td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> g_settings_bind (tasklist-&gt;settings,</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> <span class='string_literal'>"middle-click-close"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> tasklist-&gt;middle_click_close_check,</td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='string_literal'>"active"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> <span class='comment'>/* change thumbnail size: */</span></td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> tasklist_update_thumbnail_size_spin(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;thumbnail_size_spin, <span class='string_literal'>"value-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;thumbnail_size_spin), ("value-changed"<br>), ((GCallback) thumbnail_size_spin_changed), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> <span class='macro'>(GCallback) thumbnail_size_spin_changed,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;thumbnail_size_spin), ("value-changed"<br>), ((GCallback) thumbnail_size_spin_changed), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;thumbnail_size_spin), ("value-changed"<br>), ((GCallback) thumbnail_size_spin_changed), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='comment'>/* move window when unminimizing: */</span></td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> tasklist_update_unminimization_radio(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;move_minimized_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;move_minimized_radio), (<br>"toggled"), ((GCallback) move_minimized_toggled), (tasklist),<br> ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> <span class='macro'>(GCallback) move_minimized_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;move_minimized_radio), (<br>"toggled"), ((GCallback) move_minimized_toggled), (tasklist),<br> ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;move_minimized_radio), (<br>"toggled"), ((GCallback) move_minimized_toggled), (tasklist),<br> ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> <span class='comment'>/* Tasklist content: */</span></td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> tasklist_properties_update_content_radio (tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;show_all_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;show_all_radio), ("toggled"<br>), ((GCallback) display_all_workspaces_toggled), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> <span class='macro'>(GCallback) display_all_workspaces_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;show_all_radio), ("toggled"<br>), ((GCallback) display_all_workspaces_toggled), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;show_all_radio), ("toggled"<br>), ((GCallback) display_all_workspaces_toggled), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='macro'>g_signal_connect_swapped (WID (<span class='string_literal'>"done_button"</span>), <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((gtk_builder_get_object(builder, "done_button"<br>))), ((gtk_widget_get_type ()))))))), ("clicked"), ((GCallback<br>) gtk_widget_hide), (tasklist-&gt;properties_dialog), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> <span class='macro'>(GCallback) gtk_widget_hide,<span class='macro_popup'>g_signal_connect_data ((((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((gtk_builder_get_object(builder, "done_button"<br>))), ((gtk_widget_get_type ()))))))), ("clicked"), ((GCallback<br>) gtk_widget_hide), (tasklist-&gt;properties_dialog), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='macro'>tasklist-&gt;properties_dialog)<span class='macro_popup'>g_signal_connect_data ((((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((gtk_builder_get_object(builder, "done_button"<br>))), ((gtk_widget_get_type ()))))))), ("clicked"), ((GCallback<br>) gtk_widget_hide), (tasklist-&gt;properties_dialog), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;properties_dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;properties_dialog), ("response"<br>), (((GCallback) (response_cb))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> <span class='macro'>G_CALLBACK (response_cb),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;properties_dialog), ("response"<br>), (((GCallback) (response_cb))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;properties_dialog), ("response"<br>), (((GCallback) (response_cb))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> setup_dialog_wayland(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_properties_dialog(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;properties_dialog == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> GtkBuilder* builder;</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> builder = gtk_builder_new();</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> gtk_builder_set_translation_domain(builder, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> gtk_builder_add_from_resource (builder, <span class='macro'>WNCKLET_RESOURCE_PATH<span class='macro_popup'>"/org/mate/panel/applet/wncklet/"</span></span> <span class='string_literal'>"window-list.ui"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> tasklist-&gt;properties_dialog = <span class='macro'>WID(<span class='string_literal'>"tasklist_properties_dialog"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "tasklist_properties_dialog"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> g_object_add_weak_pointer(<span class='macro'>G_OBJECT(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, (<span class='keyword'>void</span>**) &amp;tasklist-&gt;properties_dialog);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> setup_dialog(builder, tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> g_object_unref(builder);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> gtk_window_set_icon_name(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> gtk_window_set_resizable(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> gtk_window_set_screen(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>, gtk_widget_get_screen(tasklist-&gt;applet));</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> gtk_window_present(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> destroy_tasklist(GtkWidget* widget, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (G_OBJECT (tasklist-&gt;applet), tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((((((GObject*) (void *)<br> g_type_check_instance_cast ((GTypeInstance*) ((tasklist-&gt;<br>applet)), (((GType) ((20) &lt;&lt; (2))))))))), G_SIGNAL_MATCH_DATA<br>, 0, 0, ((void*)0), ((void*)0), (tasklist))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (G_OBJECT (tasklist-&gt;tasklist), tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((((((GObject*) (void *)<br> g_type_check_instance_cast ((GTypeInstance*) ((tasklist-&gt;<br>tasklist)), (((GType) ((20) &lt;&lt; (2))))))))), G_SIGNAL_MATCH_DATA<br>, 0, 0, ((void*)0), ((void*)0), (tasklist))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (tasklist-&gt;preview_settings, tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((tasklist-&gt;preview_settings<br>), G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (tasklist<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> g_object_unref(tasklist-&gt;preview_settings);</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (tasklist-&gt;settings, tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((tasklist-&gt;settings)<br>, G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (tasklist<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> g_object_unref(tasklist-&gt;settings);</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;properties_dialog)</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> gtk_widget_destroy(tasklist-&gt;properties_dialog);</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;preview)</td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> gtk_widget_destroy(tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> g_free(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-313d65.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-313d65.html
new file mode 100644
index 00000000..223612db
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-313d65.html
@@ -0,0 +1,1077 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-launch.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Access to field 'message' results in a dereference of a null pointer (loaded from variable 'local_error') -->
+
+<!-- BUGTYPE Dereference of null pointer -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/libpanel-util/panel-launch.c -->
+
+<!-- FILENAME panel-launch.c -->
+
+<!-- FUNCTIONNAME _panel_launch_handle_error -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 313d65c7b9e92011771de052637b526c -->
+
+<!-- BUGLINE 72 -->
+
+<!-- BUGCOLUMN 45 -->
+
+<!-- BUGPATHLENGTH 41 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/libpanel-util/panel-launch.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 72, column 45</a><br />Access to field 'message' results in a dereference of a null pointer (loaded from variable 'local_error')</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-launch.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel/libpanel-util -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../.. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../../mate-panel/libpanel-util -D DATADIR="/usr/local/share" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel/libpanel-util -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-launch.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"56": 1, "57": 1, "58": 1, "59": 1, "60": 1, "61": 1, "62": 1, "63": 1, "68": 1, "72": 1, "98": 1, "99": 1, "100": 1, "101": 1, "102": 1, "103": 1, "104": 1, "105": 1, "106": 1, "107": 1, "108": 1, "110": 1, "111": 1, "112": 1, "114": 1, "115": 1, "116": 1, "117": 1, "119": 1, "120": 1, "121": 1, "122": 1, "124": 1, "125": 1, "131": 1, "133": 1, "136": 1, "137": 1, "166": 1, "167": 1, "168": 1, "169": 1, "170": 1, "171": 1, "172": 1, "173": 1, "174": 1, "176": 1, "177": 1, "178": 1, "180": 1, "181": 1, "184": 1, "185": 1, "186": 1, "187": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+ <path class="arrow" id="arrow0"/>
+ <path class="arrow" id="arrow1"/>
+ <path class="arrow" id="arrow2"/>
+ <path class="arrow" id="arrow3"/>
+ <path class="arrow" id="arrow4"/>
+ <path class="arrow" id="arrow5"/>
+ <path class="arrow" id="arrow6"/>
+ <path class="arrow" id="arrow7"/>
+ <path class="arrow" id="arrow8"/>
+ <path class="arrow" id="arrow9"/>
+ <path class="arrow" id="arrow10"/>
+ <path class="arrow" id="arrow11"/>
+ <path class="arrow" id="arrow12"/>
+ <path class="arrow" id="arrow13"/>
+ <path class="arrow" id="arrow14"/>
+ <path class="arrow" id="arrow15"/>
+ <path class="arrow" id="arrow16"/>
+ <path class="arrow" id="arrow17"/>
+ <path class="arrow" id="arrow18"/>
+ <path class="arrow" id="arrow19"/>
+ <path class="arrow" id="arrow20"/>
+ <path class="arrow" id="arrow21"/>
+ <path class="arrow" id="arrow22"/>
+ <path class="arrow" id="arrow23"/>
+ <path class="arrow" id="arrow24"/>
+ <path class="arrow" id="arrow25"/>
+ <path class="arrow" id="arrow26"/>
+ <path class="arrow" id="arrow27"/>
+ <path class="arrow" id="arrow28"/>
+ <path class="arrow" id="arrow29"/>
+ <path class="arrow" id="arrow30"/>
+ <path class="arrow" id="arrow31"/>
+ <path class="arrow" id="arrow32"/>
+ <path class="arrow" id="arrow33"/>
+ <path class="arrow" id="arrow34"/>
+ <path class="arrow" id="arrow35"/>
+ <path class="arrow" id="arrow36"/>
+ <path class="arrow" id="arrow37"/>
+ <path class="arrow" id="arrow38"/>
+ <path class="arrow" id="arrow39"/>
+ <path class="arrow" id="arrow40"/>
+ <path class="arrow" id="arrow41"/>
+ <path class="arrow" id="arrow42"/>
+ <path class="arrow" id="arrow43"/>
+ <path class="arrow" id="arrow44"/>
+ <path class="arrow" id="arrow45"/>
+ <path class="arrow" id="arrow46"/>
+ <path class="arrow" id="arrow47"/>
+ <path class="arrow" id="arrow48"/>
+ <path class="arrow" id="arrow49"/>
+ <path class="arrow" id="arrow50"/>
+ <path class="arrow" id="arrow51"/>
+ <path class="arrow" id="arrow52"/>
+ <path class="arrow" id="arrow53"/>
+ <path class="arrow" id="arrow54"/>
+ <path class="arrow" id="arrow55"/>
+ <path class="arrow" id="arrow56"/>
+ <path class="arrow" id="arrow57"/>
+ <path class="arrow" id="arrow58"/>
+ <path class="arrow" id="arrow59"/>
+ <path class="arrow" id="arrow60"/>
+ <path class="arrow" id="arrow61"/>
+ <path class="arrow" id="arrow62"/>
+ <path class="arrow" id="arrow63"/>
+ <path class="arrow" id="arrow64"/>
+ <path class="arrow" id="arrow65"/>
+ <path class="arrow" id="arrow66"/>
+ <path class="arrow" id="arrow67"/>
+ <path class="arrow" id="arrow68"/>
+ <path class="arrow" id="arrow69"/>
+ <path class="arrow" id="arrow70"/>
+ <path class="arrow" id="arrow71"/>
+ <path class="arrow" id="arrow72"/>
+ <path class="arrow" id="arrow73"/>
+ <path class="arrow" id="arrow74"/>
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 75,73,71,71,68,66,65,63,61,60,59,57,54,52,51,43,42,40,38,38,32,28,26,25,22,19,17,16,12,11,9,8,7,5,3,1,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-launch.c: some helpers to launch desktop files</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2008 Novell, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Vincent Untz &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;gio/gdesktopappinfo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include "panel-error.h"</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include "panel-glib.h"</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include "panel-launch.h"</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line">_panel_launch_error_dialog (<span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> <span class='keyword'>const</span> gchar *message)</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='keyword'>char</span> *primary;</td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> <span class='keyword'>if</span> (name)</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> primary = g_markup_printf_escaped (<span class='macro'>_(<span class='string_literal'>"Could not launch '%s'"</span>)<span class='macro_popup'>gettext ("Could not launch '%s'")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> name);</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> primary = <span class='macro'>g_strdup (_(<span class='string_literal'>"Could not launch application"</span>))<span class='macro_popup'>g_strdup_inline (gettext ("Could not launch application"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> panel_error_dialog (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, screen, <span class='string_literal'>"cannot_launch"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> primary, message);</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> g_free (primary);</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span id="start6"><span class='keyword'>static</span></span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line">_panel_launch_handle_error (<span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> GError *local_error,</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> <span id="start5"><span id="end6"><span class='keyword'>if</span></span></span> (<span id="start4"><span class="mrange"><span id="end5">g_error_matches</span></span> (local_error,</td></tr></span>
+<tr><td class="num"></td><td class="line"><div id="Path33" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">33</div></td><td><div class="PathNav"><a href="#Path32" title="Previous event (32)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path34" title="Next event (34)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path34" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">34</div></td><td><div class="PathNav"><a href="#Path33" title="Previous event (33)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path35" title="Next event (35)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class="mrange"><span class='macro'>G_IO_ERROR<span class='macro_popup'>g_io_error_quark()</span></span>, G_IO_ERROR_CANCELLED)</span>) {</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> g_error_free (local_error);</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='keyword'>else</span> <span id="start3"><span id="end4"><span class='keyword'>if</span></span></span> (<span id="start2"><span id="end3"><span class='variable'>error<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>34.1</div></td><td>'error' is equal to NULL</td></tr></tbody></table></span></span></span> != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path35" class="msg msgControl" style="margin-left:14ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">35</div></td><td><div class="PathNav"><a href="#Path34" title="Previous event (34)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#EndPath" title="Next event (36)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> g_propagate_error (error, local_error);</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span id="start1"><span id="end2">_panel_launch_error_dialog</span></span> (<span id="start0"><span id="end1">name</span></span>, screen, <span class="mrange"><span id="end0">local_error</span></span>-&gt;message);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:59ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">36</div></td><td><div class="PathNav"><a href="#Path35" title="Previous event (35)">&#x2190;</a></div></td><td>Access to field 'message' results in a dereference of a null pointer (loaded from variable 'local_error')</td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> g_error_free (local_error);</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line">dummy_child_watch (GPid pid,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> gint status,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='comment'>/* Nothing, this is just to ensure we don't double fork</span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='comment'>* and break pkexec:</span></td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> <span class='comment'>* https://bugzilla.gnome.org/show_bug.cgi?id=675789</span></td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line">gather_pid_callback (GDesktopAppInfo *gapp,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> GPid pid,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> g_child_watch_add (pid, dummy_child_watch, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span id="start50">gboolean</td></tr></span>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line">panel_app_info_launch_uris (GDesktopAppInfo *appinfo,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GList *uris,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='keyword'>const</span> gchar *action,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> guint32 timestamp,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span id="start49"><span id="end50">GdkAppLaunchContext</span></span> *context;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> GError *local_error;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span id="start48"><span id="end49">gboolean</span></span> retval;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span id="start39"><span class="mrange"><span id="start40"><span id="end40"><span id="start41"><span id="end41"><span class="mrange"><span id="start42"><span id="end42"><span id="start43"><span id="end43"><span id="start44"><span id="end44"><span id="start45"><span id="end45"><span id="start46"><span id="end46"><span id="start47"><span id="end47"><span id="end48"><span class='macro'>g_return_val_if_fail</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> (G_IS_DESKTOP_APP_INFO (appinfo), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((appinfo)); GType __t = ((g_desktop_app_info_get_type ())<br>); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "G_IS_DESKTOP_APP_INFO (appinfo)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path15" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">15</div></td><td><div class="PathNav"><a href="#Path14" title="Previous event (14)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path16" title="Next event (16)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path16" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">16</div></td><td><div class="PathNav"><a href="#Path15" title="Previous event (15)">&#x2190;</a></div></td><td>Assuming field 'g_class' is null</td><td><div class="PathNav"><a href="#Path17" title="Next event (17)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path17" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">17</div></td><td><div class="PathNav"><a href="#Path16" title="Previous event (16)">&#x2190;</a></div></td><td>Assuming the condition is true</td><td><div class="PathNav"><a href="#Path18" title="Next event (18)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path18" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">18</div></td><td><div class="PathNav"><a href="#Path17" title="Previous event (17)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path19" title="Next event (19)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path19" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">19</div></td><td><div class="PathNav"><a href="#Path18" title="Previous event (18)">&#x2190;</a></div></td><td>Loop condition is false. Exiting loop</td><td><div class="PathNav"><a href="#Path20" title="Next event (20)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span id="start25"><span id="start27"><span class="mrange"><span id="start28"><span id="end28"><span id="start29"><span id="end29"><span id="start30"><span id="end30"><span id="start31"><span id="end31"><span id="start32"><span id="end32"><span id="start33"><span id="end33"><span id="start34"><span id="end34"><span id="start35"><span id="end35"><span id="start36"><span id="end36"><span id="start37"><span id="end37"><span id="start38"><span id="end38"><span id="end39"><span class='macro'>g_return_val_if_fail</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path20" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">20</div></td><td><div class="PathNav"><a href="#Path19" title="Previous event (19)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path21" title="Next event (21)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path21" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">21</div></td><td><div class="PathNav"><a href="#Path20" title="Previous event (20)">&#x2190;</a></div></td><td>Assuming the condition is true</td><td><div class="PathNav"><a href="#Path22" title="Next event (22)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path22" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">22</div></td><td><div class="PathNav"><a href="#Path21" title="Previous event (21)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path23" title="Next event (23)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span id="start23"><span id="start24"><span id="end24"><span id="end25"><span id="start26"><span id="end26"><span id="end27"><span class='macro'>g_return_val_if_fail</span></span></span></span></span></span></span> (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path23" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">23</div></td><td><div class="PathNav"><a href="#Path22" title="Previous event (22)">&#x2190;</a></div></td><td>Loop condition is false. Exiting loop</td><td><div class="PathNav"><a href="#Path24" title="Next event (24)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path24" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">24</div></td><td><div class="PathNav"><a href="#Path23" title="Previous event (23)">&#x2190;</a></div></td><td>Loop condition is false. Exiting loop</td><td><div class="PathNav"><a href="#Path25" title="Next event (25)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span id="start20"><span id="end21"><span id="start22"><span id="end23">GdkDisplay</span></span></span></span> *display = <span id="start21"><span id="end22">gdk_display_get_default</span></span> ();</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> context = gdk_display_get_app_launch_context (display);</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> gdk_app_launch_context_set_screen (context, screen);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> gdk_app_launch_context_set_timestamp (context, timestamp);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> local_error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span id="start19"><span id="end20"><span class='keyword'>if</span></span></span> (<span id="start18"><span class="mrange"><span id="end19">action</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path25" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">25</div></td><td><div class="PathNav"><a href="#Path24" title="Previous event (24)">&#x2190;</a></div></td><td>Assuming 'action' is equal to NULL</td><td><div class="PathNav"><a href="#Path26" title="Next event (26)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path26" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">26</div></td><td><div class="PathNav"><a href="#Path25" title="Previous event (25)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path27" title="Next event (27)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span id="start14"><span id="end15"><span id="start17"><span id="end18">retval</span></span></span></span> = <span id="start15"><span class="mrange"><span id="end16">g_desktop_app_info_launch_uris_as_manager</span></span> (<span id="start16"><span id="end17">appinfo</span></span>, uris,</td></tr></span>
+<tr><td class="num"></td><td class="line"><div id="Path27" class="msg msgEvent" style="margin-left:26ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">27</div></td><td><div class="PathNav"><a href="#Path26" title="Previous event (26)">&#x2190;</a></div></td><td>Value assigned to 'local_error'</td><td><div class="PathNav"><a href="#Path28" title="Next event (28)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class="mrange"><span class='macro'>G_APP_LAUNCH_CONTEXT (context)<span class='macro_popup'>((((GAppLaunchContext*) (void *) g_type_check_instance_cast (<br>(GTypeInstance*) ((context)), ((g_app_launch_context_get_type<br> ()))))))</span></span>,</td></tr></span>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class="mrange">G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,</td></tr></span>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class="mrange"><span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, gather_pid_callback, appinfo,</td></tr></span>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class="mrange">&amp;local_error)</span>;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> g_desktop_app_info_launch_action (appinfo, action, <span class='macro'>G_APP_LAUNCH_CONTEXT (context)<span class='macro_popup'>((((GAppLaunchContext*) (void *) g_type_check_instance_cast (<br>(GTypeInstance*) ((context)), ((g_app_launch_context_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span id="start13"><span id="end14">g_object_unref</span></span> (context);</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span id="start12"><span id="end13"><span class='keyword'>if</span></span></span> ((<span id="start11"><span class="mrange"><span id="end12">local_error</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>) &amp;&amp; (<span id="start10"><span class="mrange"><span id="end11">retval</span></span> == <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span></span>))</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path28" class="msg msgEvent" style="margin-left:14ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">28</div></td><td><div class="PathNav"><a href="#Path27" title="Previous event (27)">&#x2190;</a></div></td><td>Assuming 'local_error' is equal to NULL</td><td><div class="PathNav"><a href="#Path29" title="Next event (29)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path29" class="msg msgEvent" style="margin-left:39ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">29</div></td><td><div class="PathNav"><a href="#Path28" title="Previous event (28)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path30" title="Next event (30)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path30" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">30</div></td><td><div class="PathNav"><a href="#Path29" title="Previous event (29)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path31" title="Next event (31)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span id="start9"><span id="end10"><span class='keyword'>return</span></span></span> <span class="mrange"><span id="end7">_panel_launch_handle_error</span> (g_app_info_get_name (<span id="start8"><span id="end9"><span class='macro'>G_APP_INFO</span></span>(appinfo)<span class='macro_popup'>((((GAppInfo*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((appinfo)), ((g_app_info_get_type ()))))))</span></span>),</td></tr></span>
+<tr><td class="num"></td><td class="line"><div id="Path32" class="msg msgEvent" style="margin-left:16ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">32</div></td><td><div class="PathNav"><a href="#Path31" title="Previous event (31)">&#x2190;</a></div></td><td>Calling '_panel_launch_handle_error'</td><td><div class="PathNav"><a href="#Path33" title="Next event (33)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class="mrange">screen, <span id="start7"><span class="mrange"><span id="end8">local_error</span></span></span>, error)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path31" class="msg msgEvent" style="margin-left:52ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">31</div></td><td><div class="PathNav"><a href="#Path30" title="Previous event (30)">&#x2190;</a></div></td><td>Passing null pointer value via 3rd parameter 'local_error'</td><td><div class="PathNav"><a href="#Path32" title="Next event (32)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line">panel_app_info_launch_uri (GDesktopAppInfo *appinfo,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>const</span> gchar *uri,</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> guint32 timestamp,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> GList *uris;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>g_return_val_if_fail (G_IS_APP_INFO (appinfo), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((appinfo)); GType __t = ((g_app_info_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "G_IS_APP_INFO (appinfo)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> uris = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> <span class='keyword'>if</span> (uri)</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> uris = g_list_prepend (uris, (gpointer) uri);</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> retval = panel_app_info_launch_uris (appinfo, uris,</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> screen, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, timestamp, error);</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> g_list_free (uris);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line">panel_launch_key_file (GKeyFile *keyfile,</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> GList *uri_list,</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>const</span> gchar *action,</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> <span id="start74">GDesktopAppInfo</span> *appinfo;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> <span id="start73"><span id="end74">gboolean</span></span> retval;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span id="start72"><span class="mrange"><span id="end73"><span class='macro'>g_return_val_if_fail</span></span></span> (keyfile != NULL, FALSE)<span class='macro_popup'>do { if ((keyfile != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "keyfile != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path1" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">1</div></td><td>Assuming 'keyfile' is not equal to null</td><td><div class="PathNav"><a href="#Path2" title="Next event (2)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path2" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">2</div></td><td><div class="PathNav"><a href="#Path1" title="Previous event (1)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path3" title="Next event (3)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path3" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">3</div></td><td><div class="PathNav"><a href="#Path2" title="Previous event (2)">&#x2190;</a></div></td><td>Loop condition is false. Exiting loop</td><td><div class="PathNav"><a href="#Path4" title="Next event (4)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> <span id="start60"><span id="start62"><span class="mrange"><span id="start63"><span id="end63"><span id="start64"><span id="end64"><span class="mrange"><span id="start65"><span id="end65"><span id="start66"><span id="end66"><span id="start67"><span id="end67"><span class="mrange"><span id="start68"><span id="end68"><span id="start69"><span id="end69"><span id="start70"><span id="end70"><span id="start71"><span id="end71"><span id="end72"><span class='macro'>g_return_val_if_fail</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path4" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">4</div></td><td><div class="PathNav"><a href="#Path3" title="Previous event (3)">&#x2190;</a></div></td><td>Assuming '__inst' is non-null</td><td><div class="PathNav"><a href="#Path5" title="Next event (5)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path5" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">5</div></td><td><div class="PathNav"><a href="#Path4" title="Previous event (4)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path6" title="Next event (6)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path6" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">6</div></td><td><div class="PathNav"><a href="#Path5" title="Previous event (5)">&#x2190;</a></div></td><td>Assuming field 'g_class' is null</td><td><div class="PathNav"><a href="#Path7" title="Next event (7)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path7" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">7</div></td><td><div class="PathNav"><a href="#Path6" title="Previous event (6)">&#x2190;</a></div></td><td>Assuming the condition is true</td><td><div class="PathNav"><a href="#Path8" title="Next event (8)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path8" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">8</div></td><td><div class="PathNav"><a href="#Path7" title="Previous event (7)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path9" title="Next event (9)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span id="start58"><span class="mrange"><span id="start59"><span id="end59"><span id="end60"><span id="start61"><span id="end61"><span id="end62"><span class='macro'>g_return_val_if_fail</span></span></span></span></span></span></span></span> (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path9" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">9</div></td><td><div class="PathNav"><a href="#Path8" title="Previous event (8)">&#x2190;</a></div></td><td>Loop condition is false. Exiting loop</td><td><div class="PathNav"><a href="#Path10" title="Next event (10)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path10" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">10</div></td><td><div class="PathNav"><a href="#Path9" title="Previous event (9)">&#x2190;</a></div></td><td>Assuming 'error' is equal to null</td><td><div class="PathNav"><a href="#Path11" title="Next event (11)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path11" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">11</div></td><td><div class="PathNav"><a href="#Path10" title="Previous event (10)">&#x2190;</a></div></td><td>Loop condition is false. Exiting loop</td><td><div class="PathNav"><a href="#Path12" title="Next event (12)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> <span id="start55"><span id="end56"><span id="start57"><span id="end58">appinfo</span></span></span></span> = g_desktop_app_info_new_from_keyfile (<span id="start56"><span id="end57">keyfile</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> <span id="start54"><span id="end55"><span class='keyword'>if</span></span></span> (<span id="start53"><span class="mrange"><span id="end54">appinfo</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path12" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">12</div></td><td><div class="PathNav"><a href="#Path11" title="Previous event (11)">&#x2190;</a></div></td><td>Assuming 'appinfo' is not equal to NULL</td><td><div class="PathNav"><a href="#Path13" title="Next event (13)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path13" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">13</div></td><td><div class="PathNav"><a href="#Path12" title="Previous event (12)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path14" title="Next event (14)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span id="start52"><span id="end53">retval</span></span> = <span class="mrange"><span id="end51">panel_app_info_launch_uris</span> (<span id="start51"><span id="end52">appinfo</span></span>,</td></tr></span>
+<tr><td class="num"></td><td class="line"><div id="Path14" class="msg msgEvent" style="margin-left:18ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">14</div></td><td><div class="PathNav"><a href="#Path13" title="Previous event (13)">&#x2190;</a></div></td><td>Calling 'panel_app_info_launch_uris'</td><td><div class="PathNav"><a href="#Path15" title="Next event (15)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class="mrange">uri_list, screen, action,</td></tr></span>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class="mrange">gtk_get_current_event_time (),</td></tr></span>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class="mrange">error)</span>;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> g_object_unref (appinfo);</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">panel_launch_desktop_file (<span class='keyword'>const</span> <span class='keyword'>char</span> *desktop_file,</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> GDesktopAppInfo *appinfo;</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='macro'>g_return_val_if_fail (desktop_file != NULL, FALSE)<span class='macro_popup'>do { if ((desktop_file != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "desktop_file != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> appinfo = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='keyword'>if</span> (g_path_is_absolute (desktop_file))</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> appinfo = g_desktop_app_info_new_from_filename (desktop_file);</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> <span class='keyword'>char</span> *full;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> full = panel_g_lookup_in_applications_dirs (desktop_file);</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> <span class='keyword'>if</span> (full) {</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> appinfo = g_desktop_app_info_new_from_filename (full);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> g_free (full);</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> <span class='keyword'>if</span> (appinfo == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> retval = panel_app_info_launch_uris (appinfo, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, screen, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> gtk_get_current_event_time (),</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> error);</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> g_object_unref (appinfo);</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> <span class='comment'>* Set the DISPLAY variable, to be use by g_spawn_async.</span></td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line">set_environment (gpointer display)</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line">panel_launch_desktop_file_with_fallback (<span class='keyword'>const</span> <span class='keyword'>char</span> *desktop_file,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *fallback_exec,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> <span class='keyword'>char</span> *argv[2] = { (<span class='keyword'>char</span> *) fallback_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> };</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> GError *local_error;</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> GPid pid;</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> <span class='keyword'>char</span> *display_name;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='macro'>g_return_val_if_fail (desktop_file != NULL, FALSE)<span class='macro_popup'>do { if ((desktop_file != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "desktop_file != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='macro'>g_return_val_if_fail (fallback_exec != NULL, FALSE)<span class='macro_popup'>do { if ((fallback_exec != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "fallback_exec != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='comment'>/* need to pass a non-NULL error to avoid getting a dialog */</span></td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> local_error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='keyword'>if</span> (panel_launch_desktop_file (desktop_file, screen, &amp;local_error))</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='keyword'>if</span> (local_error) {</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> g_error_free (local_error);</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> local_error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> display_name = <span class='macro'>g_strdup (gdk_display_get_name (display))<span class='macro_popup'>g_strdup_inline (gdk_display_get_name (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> retval = g_spawn_async (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* working directory */</span></td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* envp */</span></td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> set_environment,</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> &amp;display_name,</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> &amp;pid,</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> &amp;local_error);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> g_free (display_name);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> <span class='keyword'>if</span> (local_error == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp; retval == <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> g_child_watch_add (pid, dummy_child_watch, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> _panel_launch_handle_error (fallback_exec,</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> screen, local_error, error);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-3bfab8.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-3bfab8.html
new file mode 100644
index 00000000..ed840f7a
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-3bfab8.html
@@ -0,0 +1,868 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet-gsettings.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet-gsettings.c -->
+
+<!-- FILENAME mate-panel-applet-gsettings.c -->
+
+<!-- FUNCTIONNAME add_to_dict -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 3bfab873f84367bd1c39118a238fd5ad -->
+
+<!-- BUGLINE 44 -->
+
+<!-- BUGCOLUMN 39 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet-gsettings.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 44, column 39</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet-gsettings.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet-gsettings.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"44": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet-gsettings.c: panel applet preferences handling.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2012 Stefano Karapetsas</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Stefano Karapetsas &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "mate-panel-applet-gsettings.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line">add_to_dict (GVariant *dict, <span class='keyword'>const</span> gchar *schema, <span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> GVariantIter iter;</td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> gboolean is_schema_found;</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> gboolean is_incorrect_schema;</td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> gint path_counter;</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> gchar *key;</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> gchar *value;</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> g_variant_builder_init (&amp;builder, <span class="mrange"><span class="mrange">(<span class='keyword'>const</span> GVariantType *) <span class='string_literal'>"a{ss}"</span>);</td></tr></span></span>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:39ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> g_variant_iter_init (&amp;iter, dict);</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> is_schema_found = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> is_incorrect_schema = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> path_counter = 0;</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> <span class='keyword'>while</span> (g_variant_iter_next (&amp;iter, <span class='string_literal'>"{ss}"</span>, &amp;key, &amp;value)) {</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> gboolean path_is_found = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (value, path) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> path_is_found = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> path_counter++;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (key, schema) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> is_schema_found = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='comment'>// skip incoorect schema for path</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> is_incorrect_schema = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> g_free (key);</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> gboolean need_add_to_dict = !path_is_found || path_counter &lt; 2;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='keyword'>if</span> (need_add_to_dict) {</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{ss}"</span>, key, value);</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> g_free (key);</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (!is_schema_found) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{ss}"</span>, schema, path);</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='keyword'>if</span> (!is_schema_found || is_incorrect_schema || (path_counter &gt; 1)) {</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>return</span> g_variant_ref_sink (g_variant_builder_end (&amp;builder));</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='comment'>// no changes</span></td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line">register_dconf_editor_relocatable_schema (<span class='keyword'>const</span> gchar *schema, <span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> GSettings *dconf_editor_settings;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> dconf_editor_settings = g_settings_new (<span class='string_literal'>"ca.desrt.dconf-editor.Settings"</span>);</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>if</span> (dconf_editor_settings &amp;&amp; g_settings_is_writable (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> GVariant *relocatable_schemas = g_settings_get_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>);</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='keyword'>if</span> (g_variant_is_of_type (relocatable_schemas, <span class='macro'>G_VARIANT_TYPE_DICTIONARY<span class='macro_popup'>((const GVariantType *) "a{?*}")</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GVariant * new_relocatable_schemas = add_to_dict (relocatable_schemas, schema, path);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (new_relocatable_schemas) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_settings_set_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>, new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> g_variant_unref (new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> g_variant_unref (relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> g_object_unref (dconf_editor_settings);</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line">GSettings *</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line">mate_panel_applet_settings_new (MatePanelApplet *applet, gchar *schema)</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> GSettings *settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> gchar *path;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> path = mate_panel_applet_get_preferences_path (applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class='keyword'>if</span> (path) {</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> settings = g_settings_new_with_path (schema, path);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> register_dconf_editor_relocatable_schema (schema, path);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> settings;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line">GList*</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">mate_panel_applet_settings_get_glist (GSettings *settings, gchar *key)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gchar **array;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GList *list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> array = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>if</span> (array != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>for</span> (gint i = 0; array[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> list = g_list_prepend (list, array[i]);</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> g_free (array);</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>return</span> g_list_reverse (list);</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line">mate_panel_applet_settings_set_glist (GSettings *settings, gchar *key, GList *list)</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> GArray *array;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> array = g_array_new (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (gchar *));</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> <span class='keyword'>for</span> (GList *l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> array = <span class='macro'>g_array_append_val (array, l-&gt;data)<span class='macro_popup'>g_array_append_vals (array, &amp;(l-&gt;data), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> g_settings_set_strv (settings, key, (<span class='keyword'>const</span> gchar **) array-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> g_array_free (array, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">GSList*</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">mate_panel_applet_settings_get_gslist (GSettings *settings, gchar *key)</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> gchar **array;</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> GSList *list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> array = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (array != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>for</span> (gint i = 0; array[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> list = g_slist_prepend (list, array[i]);</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> g_free (array);</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> <span class='keyword'>return</span> g_slist_reverse (list);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line">mate_panel_applet_settings_set_gslist (GSettings *settings, gchar *key, GSList *list)</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> GArray *array;</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> array = g_array_new (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (gchar *));</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>for</span> (GSList *l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> array = <span class='macro'>g_array_append_val (array, l-&gt;data)<span class='macro_popup'>g_array_append_vals (array, &amp;(l-&gt;data), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> g_settings_set_strv (settings, key, (<span class='keyword'>const</span> gchar **) array-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> g_array_free (array, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-4646d6.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-4646d6.html
new file mode 100644
index 00000000..b54ca756
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-4646d6.html
@@ -0,0 +1,1906 @@
+<!doctype html>
+<html>
+<head>
+<title>launcher.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC This statement is never executed -->
+
+<!-- BUGTYPE Unreachable code -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/launcher.c -->
+
+<!-- FILENAME launcher.c -->
+
+<!-- FUNCTIONNAME launcher_load_from_gsettings -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 4646d6981e172667dd096aa46543e3ed -->
+
+<!-- BUGLINE 951 -->
+
+<!-- BUGCOLUMN 8 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/launcher.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 951, column 8</a><br />This statement is never executed</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name launcher.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c launcher.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"951": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* MATE panel launcher module.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* (C) 1997,1998,1999,2000 The Free Software Foundation</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* (C) 2000 Eazel, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Authors: Miguel de Icaza</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* Federico Mena</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* CORBAized by George Lebl</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* de-CORBAized by George Lebl</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"><span class='directive'>#include &lt;stdio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"><span class='directive'>#include &lt;sys/types.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"><span class='directive'>#include &lt;dirent.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-error.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-glib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-keyfile.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-launch.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-show.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include "launcher.h"</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include "button-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include "panel-config-global.h"</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include "xstuff.h"</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include "panel-a11y.h"</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include "panel-globals.h"</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel-ditem-editor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-icon-names.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line">launcher_properties_enabled (<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='keyword'>static</span> GdkScreen *</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line">launcher_get_screen (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='macro'>g_return_val_if_fail (launcher != NULL, NULL)<span class='macro_popup'>do { if ((launcher != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher != NULL"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='macro'>g_return_val_if_fail (launcher-&gt;info != NULL, NULL)<span class='macro_popup'>do { if ((launcher-&gt;info != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher-&gt;info != NULL"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> <span class='macro'>g_return_val_if_fail (launcher-&gt;info-&gt;widget != NULL, NULL)<span class='macro_popup'>do { if ((launcher-&gt;info-&gt;widget != ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "launcher-&gt;info-&gt;widget != NULL"); return (((void*)<br>0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> panel_widget = <span class='macro'>PANEL_WIDGET (gtk_widget_get_parent (launcher-&gt;info-&gt;widget))<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_widget_get_parent (launcher-&gt;info-&gt;widget))), (<br>(panel_widget_get_type()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> <span class='keyword'>return</span> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (panel_widget-&gt;toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel_widget-&gt;toplevel)), ((gtk_window_get_type ())))<br>)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line">launcher_widget_open_dialog_destroyed (GtkWidget *dialog,</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='macro'>g_return_if_fail (launcher-&gt;error_dialogs != NULL)<span class='macro_popup'>do { if ((launcher-&gt;error_dialogs != ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "launcher-&gt;error_dialogs != NULL"); return; } } while (<br>0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> launcher-&gt;error_dialogs = g_slist_remove (launcher-&gt;error_dialogs, dialog);</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line">launcher_widget_destroy_open_dialogs (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> GSList *l, *list;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> list = launcher-&gt;error_dialogs;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> launcher-&gt;error_dialogs = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>for</span> (l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (G_OBJECT (l-&gt;data),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((((((GObject*) (void *)<br> g_type_check_instance_cast ((GTypeInstance*) ((l-&gt;data)),<br> (((GType) ((20) &lt;&lt; (2))))))))), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC<br> | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0), (((GCallback) (launcher_widget_open_dialog_destroyed<br>))), (launcher))</span></span></td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_widget_open_dialog_destroyed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((((((GObject*) (void *)<br> g_type_check_instance_cast ((GTypeInstance*) ((l-&gt;data)),<br> (((GType) ((20) &lt;&lt; (2))))))))), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC<br> | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0), (((GCallback) (launcher_widget_open_dialog_destroyed<br>))), (launcher))</span></span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='macro'>launcher)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((((((GObject*) (void *)<br> g_type_check_instance_cast ((GTypeInstance*) ((l-&gt;data)),<br> (((GType) ((20) &lt;&lt; (2))))))))), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC<br> | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0), (((GCallback) (launcher_widget_open_dialog_destroyed<br>))), (launcher))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> gtk_widget_destroy (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_slist_free (list);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">launcher_register_error_dialog (Launcher *launcher,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> GtkWidget *dialog)</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> launcher-&gt;error_dialogs = g_slist_append (launcher-&gt;error_dialogs,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> dialog);</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='macro'>g_signal_connect (dialog, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((dialog), ("destroy"), (((GCallback) (<br>launcher_widget_open_dialog_destroyed))), (launcher), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_widget_open_dialog_destroyed),<span class='macro_popup'>g_signal_connect_data ((dialog), ("destroy"), (((GCallback) (<br>launcher_widget_open_dialog_destroyed))), (launcher), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='macro'>launcher)<span class='macro_popup'>g_signal_connect_data ((dialog), ("destroy"), (((GCallback) (<br>launcher_widget_open_dialog_destroyed))), (launcher), ((void*<br>)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line">launch_url (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> <span class='keyword'>char</span> *url;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='macro'>g_return_if_fail (launcher != NULL)<span class='macro_popup'>do { if ((launcher != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='macro'>g_return_if_fail (launcher-&gt;key_file != NULL)<span class='macro_popup'>do { if ((launcher-&gt;key_file != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher-&gt;key_file != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='comment'>/* FIXME panel_ditem_launch() should be enough for this! */</span></td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> url = <span class='macro'>panel_key_file_get_string (launcher-&gt;key_file, <span class='string_literal'>"URL"</span>)<span class='macro_popup'>g_key_file_get_string (launcher-&gt;key_file, "Desktop Entry"<br>, "URL", ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> screen = launcher_get_screen (launcher);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>if</span> (!url || *url == 0) {</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> GtkWidget *error_dialog;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> error_dialog = panel_error_dialog (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, screen,</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='string_literal'>"no_url_dialog"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Could not show this URL"</span>)<span class='macro_popup'>gettext ("Could not show this URL")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"No URL was specified."</span>)<span class='macro_popup'>gettext ("No URL was specified.")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> launcher_register_error_dialog (launcher, error_dialog);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> g_free (url);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> panel_show_uri (screen, url, gtk_get_current_event_time (), <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> g_free (url);</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">launcher_launch (Launcher *launcher,</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='keyword'>const</span> gchar *action)</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>char</span> *type;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='macro'>g_return_if_fail (launcher != NULL)<span class='macro_popup'>do { if ((launcher != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='macro'>g_return_if_fail (launcher-&gt;key_file != NULL)<span class='macro_popup'>do { if ((launcher-&gt;key_file != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher-&gt;key_file != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>if</span> (action == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> type = <span class='macro'>panel_key_file_get_string (launcher-&gt;key_file, <span class='string_literal'>"Type"</span>)<span class='macro_popup'>g_key_file_get_string (launcher-&gt;key_file, "Desktop Entry"<br>, "Type", ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> type = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='keyword'>if</span> (type &amp;&amp; !strcmp (type, <span class='string_literal'>"Link"</span>))</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> launch_url (launcher);</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> panel_launch_key_file (launcher-&gt;key_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> launcher_get_screen (launcher), action, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> GtkWidget *error_dialog;</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> error_dialog = panel_error_dialog (</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> launcher_get_screen (launcher),</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> <span class='string_literal'>"cannot_launch_application"</span>,</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Could not launch application"</span>)<span class='macro_popup'>gettext ("Could not launch application")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> launcher_register_error_dialog (launcher, error_dialog);</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> g_clear_error (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> g_free (type);</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line">drag_data_received_cb (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> GdkDragContext *context,</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> gint x,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> gint y,</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> GtkSelectionData *selection_data,</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> guint info,</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> guint time,</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>char</span> **uris;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> GList *file_list;</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class='comment'>/* The animation uses X specific functionality */</span></td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>if</span> (is_using_x11 () &amp;&amp; panel_global_config_get_enable_animations ()) {</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> surface = button_widget_get_surface (<span class='macro'>BUTTON_WIDGET (widget)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((button_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> xstuff_zoom_animate (widget,</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> surface,</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> button_widget_get_orientation (<span class='macro'>BUTTON_WIDGET (widget)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((button_widget_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> file_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> uris = g_uri_list_extract_uris ((<span class='keyword'>const</span> <span class='keyword'>char</span> *) gtk_selection_data_get_data (selection_data));</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>for</span> (i = 0; uris[i]; i++)</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> file_list = g_list_prepend (file_list, uris[i]);</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> file_list = g_list_reverse (file_list);</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> panel_launch_key_file (launcher-&gt;key_file, file_list,</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> launcher_get_screen (launcher), <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> g_list_free (file_list);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> g_strfreev (uris);</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> GtkWidget *error_dialog;</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> error_dialog = panel_error_dialog (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> launcher_get_screen (launcher),</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='string_literal'>"cannot_use_dropped_item"</span>,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Could not use dropped item"</span>)<span class='macro_popup'>gettext ("Could not use dropped item")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> launcher_register_error_dialog (launcher, error_dialog);</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_clear_error (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> gtk_drag_finish (context, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, time);</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line">destroy_launcher (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> launcher_properties_destroy (launcher);</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> launcher_widget_destroy_open_dialogs (launcher);</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line">launcher_properties_destroy (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> GtkWidget *dialog;</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> dialog = launcher-&gt;prop_dialog;</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> launcher-&gt;prop_dialog = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> <span class='keyword'>if</span> (dialog)</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> gtk_widget_destroy (dialog);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">free_launcher (gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> Launcher *launcher = data;</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>if</span> (launcher-&gt;key_file)</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> g_key_file_free (launcher-&gt;key_file);</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> g_free (launcher-&gt;location);</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>if</span> (launcher-&gt;monitor != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> g_object_unref (launcher-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> g_free (launcher);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line">panel_launcher_delete (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> <span class='keyword'>if</span> (!launcher-&gt;location)</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='comment'>/* do not remove the file if it's not in the user's launchers path */</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> <span class='keyword'>if</span> (panel_launcher_is_in_personal_path (launcher-&gt;location)) {</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> GError *error;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> GFile *file;</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> file = panel_launcher_get_gfile (launcher-&gt;location);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> <span class='keyword'>if</span> (!g_file_delete (file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> path = g_file_get_path (file);</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> g_warning (<span class='string_literal'>"Error deleting '%s': %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> g_object_unref (file);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line">is_this_drop_ok (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> GdkDragContext *context)</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> <span class='keyword'>static</span> GdkAtom text_uri_list = <span class='macro'>GDK_NONE<span class='macro_popup'>((GdkAtom)((gpointer) (gulong) (0)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> GList *l;</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> GtkWidget *source;</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> source = gtk_drag_get_source_widget (context);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>if</span> (source == widget)</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>if</span> (!(gdk_drag_context_get_actions (context) &amp; GDK_ACTION_COPY))</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> <span class='keyword'>if</span> (!text_uri_list)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> text_uri_list = gdk_atom_intern_static_string (<span class='string_literal'>"text/uri-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> <span class='keyword'>for</span> (l = gdk_drag_context_list_targets (context); l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_POINTER_TO_ATOM (l-&gt;data)<span class='macro_popup'>((GdkAtom)(l-&gt;data))</span></span> == text_uri_list)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>return</span> l ? <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span> : <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line">drag_leave_cb(GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> GdkDragContext *context,</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> guint time,</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> button_widget_set_dnd_highlight(<span class='macro'>BUTTON_WIDGET(widget)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((button_widget_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line">drag_motion_cb(GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> GdkDragContext *context,</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> gint x,</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> gint y,</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> guint time,</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> <span class='keyword'>if</span> ( ! is_this_drop_ok (widget, context))</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> gdk_drag_status (context, GDK_ACTION_COPY, time);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> button_widget_set_dnd_highlight(<span class='macro'>BUTTON_WIDGET(widget)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((button_widget_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line">drag_drop_cb (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> GdkDragContext *context,</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> gint x,</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> gint y,</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> guint time,</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>static</span> GdkAtom text_uri_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>if</span> ( ! is_this_drop_ok (widget, context))</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>if</span> (text_uri_list == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> text_uri_list = gdk_atom_intern_static_string (<span class='string_literal'>"text/uri-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> gtk_drag_get_data (widget, context, text_uri_list, time);</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> TARGET_ICON_INTERNAL,</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> TARGET_URI_LIST</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line">drag_data_get_cb (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> GdkDragContext *context,</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> GtkSelectionData *selection_data,</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> guint info,</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> guint time,</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>char</span> *location;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='macro'>g_return_if_fail (launcher != NULL)<span class='macro_popup'>do { if ((launcher != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> location = launcher-&gt;location;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> <span class='keyword'>if</span> (info == TARGET_URI_LIST) {</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>char</span> *uri[2];</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> uri[0] = panel_launcher_get_uri (location);</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> uri[1] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> gtk_selection_data_set_uris (selection_data, uri);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> g_free (uri[0]);</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (info == TARGET_ICON_INTERNAL)</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> gtk_selection_data_set (selection_data,</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> gtk_selection_data_get_target (selection_data), 8,</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> (<span class='keyword'>unsigned</span> <span class='keyword'>char</span> *) location,</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> strlen (location));</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line">clicked_cb (Launcher *launcher,</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> <span class='keyword'>if</span> (is_using_x11 () &amp;&amp; panel_global_config_get_enable_animations ()) {</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> surface = button_widget_get_surface (<span class='macro'>BUTTON_WIDGET (widget)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((button_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> xstuff_zoom_animate (widget,</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> surface,</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> button_widget_get_orientation (<span class='macro'>BUTTON_WIDGET (widget)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((button_widget_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> launcher_launch (launcher, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>if</span> (panel_global_config_get_drawer_auto_close ()) {</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> PanelToplevel *parent;</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> toplevel = <span class='macro'>PANEL_WIDGET (gtk_widget_get_parent (launcher-&gt;button))<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_widget_get_parent (launcher-&gt;button))), ((panel_widget_get_type<br>()))))))</span></span>-&gt;toplevel;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> parent = panel_toplevel_get_attach_toplevel (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> <span class='keyword'>while</span> (panel_toplevel_get_is_attached (parent)) {</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> toplevel = parent;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> parent = panel_toplevel_get_attach_toplevel (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"><span class='keyword'>static</span> Launcher *</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line">create_launcher (<span class='keyword'>const</span> <span class='keyword'>char</span> *location)</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> GKeyFile *key_file;</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> <span class='macro'>g_autoptr(GFile)<span class='macro_popup'>__attribute__((cleanup(glib_autoptr_cleanup_GFile))) GFile_autoptr</span></span> file = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> gboolean loaded = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> Launcher *launcher;</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='keyword'>char</span> *new_location;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='keyword'>if</span> (!location) {</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> g_printerr (<span class='macro'>_(<span class='string_literal'>"No URI provided for panel launcher desktop file\n"</span>)<span class='macro_popup'>gettext ("No URI provided for panel launcher desktop file\n")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> new_location = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> key_file = g_key_file_new ();</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>if</span> (!strchr (location, <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> <span class='comment'>/* try to first load a file in our config directory, and if it</span></td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='comment'>* doesn't exist there, try to find it in the xdg data dirs */</span></td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> path = panel_make_full_path (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, location);</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> path = panel_g_lookup_in_applications_dirs (location);</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='comment'>/* it's important to keep the full path if the desktop</span></td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> <span class='comment'>* file comes from a data dir: when the user will edit</span></td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> <span class='comment'>* it, we'll want to save it in PANEL_LAUNCHERS_PATH</span></td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span class='comment'>* with a random name (and not evolution.desktop, eg)</span></td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> <span class='comment'>* and having only a basename as location will make</span></td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> <span class='comment'>* this impossible */</span></td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span class='keyword'>if</span> (path)</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> new_location = <span class='macro'>g_strdup (path)<span class='macro_popup'>g_strdup_inline (path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>if</span> (path) {</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> loaded = g_key_file_load_from_file (key_file, path,</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> G_KEY_FILE_KEEP_COMMENTS|G_KEY_FILE_KEEP_TRANSLATIONS,</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> loaded = panel_key_file_load_from_uri (key_file, location,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> G_KEY_FILE_KEEP_COMMENTS|G_KEY_FILE_KEEP_TRANSLATIONS,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>if</span> (!loaded) {</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_printerr (<span class='macro'>_(<span class='string_literal'>"Unable to open desktop file %s for panel launcher%s%s\n"</span>)<span class='macro_popup'>gettext ("Unable to open desktop file %s for panel launcher%s%s\n"<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> location,</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> error ? <span class='string_literal'>": "</span> : <span class='string_literal'>""</span>,</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> error ? error-&gt;message : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='keyword'>if</span> (error)</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> g_key_file_free (key_file);</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> g_free (new_location);</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; <span class='comment'>/*button is null*/</span></td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>if</span> (!new_location)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> new_location = <span class='macro'>g_strdup (location)<span class='macro_popup'>g_strdup_inline (location)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> file = g_file_new_for_path (new_location);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> launcher = <span class='macro'>g_new0 (Launcher, 1)<span class='macro_popup'>((Launcher *) g_malloc0_n ((1), sizeof (Launcher)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> launcher-&gt;info = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> launcher-&gt;button = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> launcher-&gt;location = new_location;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> launcher-&gt;key_file = key_file;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> launcher-&gt;prop_dialog = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> launcher-&gt;destroy_handler = 0;</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='comment'>/* Icon will be setup later */</span></td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> launcher-&gt;button = button_widget_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> <span class='comment'>/* icon */</span>,</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> PANEL_ORIENTATION_TOP);</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> launcher-&gt;monitor = g_file_monitor_file (file,</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> G_FILE_MONITOR_NONE,</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> gtk_widget_show (launcher-&gt;button);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='comment'>/*gtk_drag_dest_set (GTK_WIDGET (launcher-&gt;button),</span></td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> <span class='comment'>GTK_DEST_DEFAULT_ALL,</span></td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='comment'>dnd_targets, 2,</span></td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='comment'>GDK_ACTION_COPY);*/</span></td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> gtk_drag_dest_set (<span class='macro'>GTK_WIDGET (launcher-&gt;button)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;button)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;button, <span class='string_literal'>"drag-data-get"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-data-get"<br>), (((GCallback) (drag_data_get_cb))), (launcher), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> <span class='macro'>G_CALLBACK (drag_data_get_cb), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-data-get"<br>), (((GCallback) (drag_data_get_cb))), (launcher), ((void*)0)<br>, (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;button, <span class='string_literal'>"drag-data-received"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-data-received"<br>), (((GCallback) (drag_data_received_cb))), (launcher), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='macro'>G_CALLBACK (drag_data_received_cb), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-data-received"<br>), (((GCallback) (drag_data_received_cb))), (launcher), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;button, <span class='string_literal'>"drag-motion"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-motion")<br>, (((GCallback) (drag_motion_cb))), (launcher), ((void*)0), (<br>GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='macro'>G_CALLBACK (drag_motion_cb), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-motion")<br>, (((GCallback) (drag_motion_cb))), (launcher), ((void*)0), (<br>GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;button, <span class='string_literal'>"drag-drop"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-drop"), (<br>((GCallback) (drag_drop_cb))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='macro'>G_CALLBACK (drag_drop_cb), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-drop"), (<br>((GCallback) (drag_drop_cb))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;button, <span class='string_literal'>"drag-leave"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-leave"),<br> (((GCallback) (drag_leave_cb))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='macro'>G_CALLBACK (drag_leave_cb), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("drag-leave"),<br> (((GCallback) (drag_leave_cb))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='macro'>g_signal_connect_swapped (launcher-&gt;button, <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("clicked"), ((<br>(GCallback) (clicked_cb))), (launcher), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> <span class='macro'>G_CALLBACK (clicked_cb), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("clicked"), ((<br>(GCallback) (clicked_cb))), (launcher), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> launcher-&gt;destroy_handler =</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;button, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("destroy"), ((<br>(GCallback) (destroy_launcher))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='macro'>G_CALLBACK (destroy_launcher),<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("destroy"), ((<br>(GCallback) (destroy_launcher))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='macro'>launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;button), ("destroy"), ((<br>(GCallback) (destroy_launcher))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='keyword'>return</span> launcher;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">setup_actions (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GDesktopAppInfo *app_info;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> <span class='keyword'>const</span> gchar * <span class='keyword'>const</span> *actions;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> <span class='keyword'>const</span> gchar * <span class='keyword'>const</span> *ptr;</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> app_info = g_desktop_app_info_new_from_keyfile (launcher-&gt;key_file);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='keyword'>if</span> (app_info == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> actions = g_desktop_app_info_list_actions (app_info);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> ptr = actions;</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> <span class='keyword'>for</span>(; *ptr != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; ptr++) {</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> <span class='keyword'>const</span> gchar *action = *ptr;</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> gchar *callback = g_strdup_printf(<span class='string_literal'>"launch-action_%s"</span>, action);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> gchar *action_name = g_desktop_app_info_get_action_name (app_info, action);</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> mate_panel_applet_add_callback (launcher-&gt;info,</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> callback,</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> action_name,</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> g_free (callback);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> g_free (action_name);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> g_object_unref (app_info);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line">setup_button (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>char</span> *comment;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>char</span> *str;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> <span class='keyword'>char</span> *icon;</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>char</span> *unescaped_str;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> <span class='macro'>g_return_if_fail (launcher != NULL)<span class='macro_popup'>do { if ((launcher != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "launcher != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> mate_panel_applet_clear_user_menu (launcher-&gt;info);</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> mate_panel_applet_add_callback (launcher-&gt;info,</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='string_literal'>"launch"</span>,</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='string_literal'>"system-run"</span>,</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"_Launch"</span>)<span class='macro_popup'>gettext ("_Launch")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> setup_actions (launcher);</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> mate_panel_applet_add_callback (launcher-&gt;info,</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> <span class='string_literal'>"properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='string_literal'>"document-properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"_Properties"</span>)<span class='macro_popup'>gettext ("_Properties")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> launcher_properties_enabled);</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> name = <span class='macro'>panel_key_file_get_locale_string (launcher-&gt;key_file, <span class='string_literal'>"Name"</span>)<span class='macro_popup'>g_key_file_get_locale_string(launcher-&gt;key_file, "Desktop Entry"<br>, "Name", ((void*)0), ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> comment = <span class='macro'>panel_key_file_get_locale_string (launcher-&gt;key_file,<span class='macro_popup'>g_key_file_get_locale_string(launcher-&gt;key_file, "Desktop Entry"<br>, "Comment", ((void*)0), ((void*)0))</span></span></td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> <span class='string_literal'><span class='macro'>"Comment"</span>)<span class='macro_popup'>g_key_file_get_locale_string(launcher-&gt;key_file, "Desktop Entry"<br>, "Comment", ((void*)0), ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='comment'>/* Setup tooltip */</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>PANEL_GLIB_STR_EMPTY (name)<span class='macro_popup'>((name) == ((void*)0) || (name)[0] == '\0')</span></span> &amp;&amp; !<span class='macro'>PANEL_GLIB_STR_EMPTY (comment)<span class='macro_popup'>((comment) == ((void*)0) || (comment)[0] == '\0')</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> str = g_strdup_printf (<span class='string_literal'>"%s\n%s"</span>, name, comment);</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (!<span class='macro'>PANEL_GLIB_STR_EMPTY (name)<span class='macro_popup'>((name) == ((void*)0) || (name)[0] == '\0')</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> str = <span class='macro'>g_strdup (name)<span class='macro_popup'>g_strdup_inline (name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> str = <span class='macro'>g_strdup (comment)<span class='macro_popup'>g_strdup_inline (comment)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> <span class='comment'>/* If we can unescape the string, then we probably have an escaped</span></td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='comment'>* string (a location e.g.). If we can't, then it most probably means</span></td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> <span class='comment'>* we have a % that is not here to encode a character, and we don't</span></td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='comment'>* want to unescape in this case. See bug #170516 for details. */</span></td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> unescaped_str = g_uri_unescape_string (str, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>if</span> (unescaped_str) {</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> g_free (str);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> str = unescaped_str;</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> panel_util_set_tooltip_text (launcher-&gt;button, str);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='comment'>/* Setup accessible name */</span></td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> panel_a11y_set_atk_name_desc (launcher-&gt;button, str, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> g_free (str);</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='comment'>/* Setup icon */</span></td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> icon = <span class='macro'>panel_key_file_get_locale_string (launcher-&gt;key_file, <span class='string_literal'>"Icon"</span>)<span class='macro_popup'>g_key_file_get_locale_string(launcher-&gt;key_file, "Desktop Entry"<br>, "Icon", ((void*)0), ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>if</span> (icon &amp;&amp; icon[0] == '\0')</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;icon, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;icon) == sizeof (gpointer)<br>, "Expression evaluates to false"); __typeof__ ((&amp;icon)) _pp<br> = (&amp;icon); __typeof__ (*(&amp;icon)) _ptr = *_pp; *_pp =<br> ((void*)0); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> <span class='keyword'>if</span> (!icon) {</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> gchar *exec;</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> exec = <span class='macro'>panel_key_file_get_string (launcher-&gt;key_file, <span class='string_literal'>"Exec"</span>)<span class='macro_popup'>g_key_file_get_string (launcher-&gt;key_file, "Desktop Entry"<br>, "Exec", ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='keyword'>if</span> (exec &amp;&amp; exec[0] != '\0') {</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> icon = guess_icon_from_exec (button_widget_get_icon_theme (<span class='macro'>BUTTON_WIDGET (launcher-&gt;button)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;button)), ((button_widget_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> exec);</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> g_free (exec);</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='keyword'>if</span> (!icon)</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> icon = <span class='macro'>g_strdup (PANEL_ICON_LAUNCHER)<span class='macro_popup'>g_strdup_inline ("mate-panel-launcher")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> button_widget_set_icon_name (<span class='macro'>BUTTON_WIDGET (launcher-&gt;button)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;button)), ((button_widget_get_type ()))))))</span></span>, icon);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> g_free (icon);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> g_free (name);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> g_free (comment);</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line">panel_launcher_find_writable_uri (<span class='keyword'>const</span> <span class='keyword'>char</span> *launcher_location,</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *source)</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> <span class='keyword'>if</span> (!launcher_location)</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='keyword'>return</span> panel_make_unique_desktop_uri (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, source);</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> <span class='keyword'>if</span> (!strchr (launcher_location, <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>char</span> *path = panel_make_full_path (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, launcher_location);</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>char</span> *uri = g_filename_to_uri (path, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> <span class='keyword'>return</span> uri;</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>char</span> *filename = panel_launcher_get_filename (launcher_location);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> <span class='keyword'>if</span> (filename != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> g_free (filename);</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> <span class='comment'>/* we have a file in the user directory. We either have a path</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> <span class='comment'>* or an URI */</span></td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='keyword'>if</span> (g_path_is_absolute (launcher_location))</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>return</span> g_filename_to_uri (launcher_location,</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (launcher_location)<span class='macro_popup'>g_strdup_inline (launcher_location)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='keyword'>return</span> panel_make_unique_desktop_uri (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, source);</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line">launcher_changed (PanelDItemEditor *dialog,</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='comment'>/* Setup the button look */</span></td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> setup_button (launcher);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line">launcher_command_changed (PanelDItemEditor *dialog,</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *command,</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> GKeyFile *revert_key_file = panel_ditem_editor_get_revert_key_file (dialog);</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>if</span> (revert_key_file) {</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> <span class='keyword'>char</span> *exec = <span class='macro'>panel_key_file_get_string (launcher-&gt;key_file, <span class='string_literal'>"Exec"</span>)<span class='macro_popup'>g_key_file_get_string (launcher-&gt;key_file, "Desktop Entry"<br>, "Exec", ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> <span class='keyword'>char</span> *old_exec = <span class='macro'>panel_key_file_get_string (revert_key_file, <span class='string_literal'>"Exec"</span>)<span class='macro_popup'>g_key_file_get_string (revert_key_file, "Desktop Entry", "Exec"<br>, ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='keyword'>if</span> (!old_exec || !exec || strcmp (old_exec, exec))</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> <span class='macro'>panel_key_file_remove_key (launcher-&gt;key_file,<span class='macro_popup'>g_key_file_remove_key (launcher-&gt;key_file, "Desktop Entry"<br>, "StartupNotify", ((void*)0))</span></span></td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='string_literal'><span class='macro'>"StartupNotify"</span>)<span class='macro_popup'>g_key_file_remove_key (launcher-&gt;key_file, "Desktop Entry"<br>, "StartupNotify", ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> g_free (exec);</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> g_free (old_exec);</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line">launcher_save_uri (PanelDItemEditor *dialog,</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> GKeyFile *key_file;</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> <span class='keyword'>char</span> *type;</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> <span class='keyword'>char</span> *exec_or_uri;</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> Launcher *launcher;</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> <span class='keyword'>char</span> *new_uri;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> key_file = panel_ditem_editor_get_key_file (dialog);</td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> type = <span class='macro'>panel_key_file_get_string (key_file, <span class='string_literal'>"Type"</span>)<span class='macro_popup'>g_key_file_get_string (key_file, "Desktop Entry", "Type", ((void<br>*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='keyword'>if</span> (type &amp;&amp; !strcmp (type, <span class='string_literal'>"Application"</span>))</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> exec_or_uri = <span class='macro'>panel_key_file_get_string (key_file, <span class='string_literal'>"Exec"</span>)<span class='macro_popup'>g_key_file_get_string (key_file, "Desktop Entry", "Exec", ((void<br>*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (type &amp;&amp; !strcmp (type, <span class='string_literal'>"Link"</span>))</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> exec_or_uri = <span class='macro'>panel_key_file_get_string (key_file, <span class='string_literal'>"URL"</span>)<span class='macro_popup'>g_key_file_get_string (key_file, "Desktop Entry", "URL", ((void<br>*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> exec_or_uri = <span class='macro'>panel_key_file_get_string (key_file, <span class='string_literal'>"Name"</span>)<span class='macro_popup'>g_key_file_get_string (key_file, "Desktop Entry", "Name", ((void<br>*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> g_free (type);</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> launcher = (Launcher *) data;</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>if</span> (launcher) {</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> new_uri = panel_launcher_find_writable_uri (launcher-&gt;location,</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> exec_or_uri);</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> new_uri = panel_launcher_find_writable_uri (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, exec_or_uri);</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> g_free (exec_or_uri);</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> uri = panel_ditem_editor_get_uri (dialog);</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> <span class='keyword'>if</span> (!uri || (new_uri &amp;&amp; strcmp (new_uri, uri)))</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>return</span> new_uri;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> g_free (new_uri);</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line">launcher_saved (GtkWidget *dialog,</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> <span class='keyword'>char</span> *filename;</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> uri = panel_ditem_editor_get_uri (<span class='macro'>PANEL_DITEM_EDITOR (dialog)<span class='macro_popup'>((((PanelDItemEditor*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((panel_ditem_editor_get_type ())<br>)))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> filename = panel_launcher_get_filename(uri);</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> <span class='keyword'>if</span> (filename)</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> uri = filename;</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> <span class='keyword'>if</span> (uri &amp;&amp; launcher-&gt;location &amp;&amp; strcmp (uri, launcher-&gt;location)) {</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> g_settings_set_string (launcher-&gt;info-&gt;settings, <span class='macro'>PANEL_OBJECT_LAUNCHER_LOCATION_KEY<span class='macro_popup'>"launcher-location"</span></span>, uri);</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> <span class='keyword'>if</span> (launcher-&gt;location)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> g_free (launcher-&gt;location);</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> launcher-&gt;location = <span class='macro'>g_strdup (uri)<span class='macro_popup'>g_strdup_inline (uri)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (filename)</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> g_free (filename);</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line">launcher_error_reported (GtkWidget *dialog,</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *primary,</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *secondary,</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> panel_error_dialog (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='string_literal'>"error_editing_launcher"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> primary, secondary);</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line">launcher_properties (Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='keyword'>if</span> (launcher-&gt;prop_dialog != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (launcher-&gt;prop_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;prop_dialog)), ((gtk_window_get_type ()))))<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> gtk_widget_get_screen (launcher-&gt;button));</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (launcher-&gt;prop_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;prop_dialog)), ((gtk_window_get_type ()))))<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> launcher-&gt;prop_dialog = panel_ditem_editor_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> launcher-&gt;key_file,</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> launcher-&gt;location,</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Launcher Properties"</span>)<span class='macro_popup'>gettext ("Launcher Properties")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> panel_widget_register_open_dialog (<span class='macro'>PANEL_WIDGET<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_widget_get_parent (launcher-&gt;info-&gt;widget))), (<br>(panel_widget_get_type()))))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> <span class='macro'>(gtk_widget_get_parent (launcher-&gt;info-&gt;widget))<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_widget_get_parent (launcher-&gt;info-&gt;widget))), (<br>(panel_widget_get_type()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> launcher-&gt;prop_dialog);</td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> panel_ditem_register_save_uri_func (<span class='macro'>PANEL_DITEM_EDITOR (launcher-&gt;prop_dialog)<span class='macro_popup'>((((PanelDItemEditor*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((launcher-&gt;prop_dialog)), ((panel_ditem_editor_get_type<br> ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> launcher_save_uri,</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> launcher);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;prop_dialog, <span class='string_literal'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("changed"<br>), (((GCallback) (launcher_changed))), (launcher), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_changed), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("changed"<br>), (((GCallback) (launcher_changed))), (launcher), ((void*)0)<br>, (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;prop_dialog, <span class='string_literal'>"command-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("command-changed"<br>), (((GCallback) (launcher_command_changed))), (launcher), ((<br>void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_command_changed), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("command-changed"<br>), (((GCallback) (launcher_command_changed))), (launcher), ((<br>void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;prop_dialog, <span class='string_literal'>"saved"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("saved"),<br> (((GCallback) (launcher_saved))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_saved), launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("saved"),<br> (((GCallback) (launcher_saved))), (launcher), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;prop_dialog, <span class='string_literal'>"error-reported"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("error-reported"<br>), (((GCallback) (launcher_error_reported))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_error_reported), NULL)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("error-reported"<br>), (((GCallback) (launcher_error_reported))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;prop_dialog, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("destroy"<br>), (((GCallback) (gtk_widget_destroyed))), (&amp;launcher-&gt;<br>prop_dialog), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_destroyed),<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("destroy"<br>), (((GCallback) (gtk_widget_destroyed))), (&amp;launcher-&gt;<br>prop_dialog), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='macro'>&amp;launcher-&gt;prop_dialog)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;prop_dialog), ("destroy"<br>), (((GCallback) (gtk_widget_destroyed))), (&amp;launcher-&gt;<br>prop_dialog), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> gtk_widget_show (launcher-&gt;prop_dialog);</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line">launcher_properties_enabled (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down () ||</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> panel_lockdown_get_disable_command_line ())</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line">app_desktop_file_changed (GFileMonitor *monitor,</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> GFile *file,</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> GFile *other_file,</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> GFileMonitorEvent event_type,</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> Launcher *launcher)</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='keyword'>if</span> (event_type != G_FILE_MONITOR_EVENT_CHANGED &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> event_type != G_FILE_MONITOR_EVENT_CREATED)</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> <span class='keyword'>if</span> (!strchr (launcher-&gt;location, <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> g_key_file_load_from_file (launcher-&gt;key_file, launcher-&gt;location,</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> G_KEY_FILE_KEEP_COMMENTS|G_KEY_FILE_KEEP_TRANSLATIONS,</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> panel_key_file_load_from_uri (launcher-&gt;key_file, launcher-&gt;location,</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> G_KEY_FILE_KEEP_COMMENTS|G_KEY_FILE_KEEP_TRANSLATIONS,</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> setup_button (launcher);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"><span class='keyword'>static</span> Launcher *</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line">load_launcher_applet (<span class='keyword'>const</span> <span class='keyword'>char</span> *location,</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> PanelWidget *panel,</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> gboolean locked,</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> <span class='keyword'>int</span> pos,</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> gboolean exactpos,</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> Launcher *launcher;</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> launcher = create_launcher (location);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>if</span> (!launcher)</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> launcher-&gt;info = mate_panel_applet_register (launcher-&gt;button, launcher,</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> free_launcher,</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> panel, locked, pos, exactpos,</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> PANEL_OBJECT_LAUNCHER, id);</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> <span class='keyword'>if</span> (!launcher-&gt;info) {</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> free_launcher (launcher);</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> panel_widget_set_applet_expandable (panel, <span class='macro'>GTK_WIDGET (launcher-&gt;button)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;button)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> panel_widget_set_applet_size_constrained (panel, <span class='macro'>GTK_WIDGET (launcher-&gt;button)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;button)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> <span class='macro'>g_signal_connect (launcher-&gt;monitor,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;monitor), ("changed"), (<br>((GCallback) (app_desktop_file_changed))), (launcher), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> <span class='string_literal'><span class='macro'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;monitor), ("changed"), (<br>((GCallback) (app_desktop_file_changed))), (launcher), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> <span class='macro'>G_CALLBACK (app_desktop_file_changed),<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;monitor), ("changed"), (<br>((GCallback) (app_desktop_file_changed))), (launcher), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> <span class='macro'>launcher)<span class='macro_popup'>g_signal_connect_data ((launcher-&gt;monitor), ("changed"), (<br>((GCallback) (app_desktop_file_changed))), (launcher), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> <span class='comment'>/* setup button according to ditem */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> setup_button (launcher);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> <span class='keyword'>return</span> launcher;</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line">launcher_load_from_gsettings (PanelWidget *panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> gboolean locked,</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> Launcher *launcher;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>char</span> *launcher_location;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> <span class='macro'>g_return_if_fail (panel_widget != NULL)<span class='macro_popup'>do { if ((panel_widget != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "panel_widget != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='macro'>g_return_if_fail (id != NULL)<span class='macro_popup'>do { if ((id != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "id != NULL"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> path = g_strdup_printf (<span class='string_literal'>"%s%s/"</span>, <span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span>, id);</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> launcher_location = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_LAUNCHER_LOCATION_KEY<span class='macro_popup'>"launcher-location"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> <span class='keyword'>if</span> (!launcher_location) {</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> g_printerr (<span class='macro'>_(<span class='string_literal'>"Key %s is not set, cannot load launcher\n"</span>)<span class='macro_popup'>gettext ("Key %s is not set, cannot load launcher\n")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> <span class='macro'>PANEL_OBJECT_LAUNCHER_LOCATION_KEY<span class='macro_popup'>"launcher-location"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> launcher = load_launcher_applet (launcher_location,</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> locked,</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> position,</td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> id);</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>if</span> (launcher) {</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='keyword'>if</span> (!<span class="mrange">g_settings_is_writable</span> (settings, <span class='macro'>PANEL_OBJECT_LAUNCHER_LOCATION_KEY<span class='macro_popup'>"launcher-location"</span></span>)) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:22ex">This statement is never executed</div></td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> AppletUserMenu *menu;</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> menu = mate_panel_applet_get_callback (launcher-&gt;info-&gt;user_menu,</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='string_literal'>"properties"</span>);</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (menu != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> menu-&gt;sensitive = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> g_free (launcher_location);</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line">launcher_new_saved (GtkWidget *dialog,</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> PanelWidget *panel;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> <span class='keyword'>int</span> pos;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>char</span> *filename;</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> pos = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (dialog), <span class='string_literal'>"pos"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((dialog)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "pos")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> panel = g_object_get_data (<span class='macro'>G_OBJECT (dialog)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"panel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> uri = panel_ditem_editor_get_uri (<span class='macro'>PANEL_DITEM_EDITOR (dialog)<span class='macro_popup'>((((PanelDItemEditor*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((panel_ditem_editor_get_type ())<br>)))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> filename = panel_launcher_get_filename (uri);</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> <span class='keyword'>if</span> (filename)</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> uri = filename;</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> panel_launcher_create (panel-&gt;toplevel, pos, uri);</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (filename)</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> g_free (filename);</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line">ask_about_launcher (<span class='keyword'>const</span> <span class='keyword'>char</span> *file,</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> PanelWidget *panel,</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='keyword'>int</span> pos,</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> gboolean exactpos)</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> GtkWidget *dialog;</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> GKeyFile *key_file;</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_disable_command_line ())</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> dialog = panel_ditem_editor_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Create Launcher"</span>)<span class='macro_popup'>gettext ("Create Launcher")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> panel_widget_register_open_dialog (panel, dialog);</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> key_file = panel_ditem_editor_get_key_file (<span class='macro'>PANEL_DITEM_EDITOR (dialog)<span class='macro_popup'>((((PanelDItemEditor*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((panel_ditem_editor_get_type ())<br>)))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='keyword'>if</span> (file != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Exec"</span>, file)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Exec", file<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Type"</span>, <span class='string_literal'>"Application"</span>)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Type", "Application"<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> panel_ditem_editor_sync_display (<span class='macro'>PANEL_DITEM_EDITOR (dialog)<span class='macro_popup'>((((PanelDItemEditor*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((panel_ditem_editor_get_type ())<br>)))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> panel_ditem_register_save_uri_func (<span class='macro'>PANEL_DITEM_EDITOR (dialog)<span class='macro_popup'>((((PanelDItemEditor*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((panel_ditem_editor_get_type ())<br>)))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> launcher_save_uri,</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='macro'>g_signal_connect (dialog, <span class='string_literal'>"saved"</span>,<span class='macro_popup'>g_signal_connect_data ((dialog), ("saved"), (((GCallback) (launcher_new_saved<br>))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_new_saved),<span class='macro_popup'>g_signal_connect_data ((dialog), ("saved"), (((GCallback) (launcher_new_saved<br>))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((dialog), ("saved"), (((GCallback) (launcher_new_saved<br>))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> <span class='macro'>g_signal_connect (dialog, <span class='string_literal'>"error-reported"</span>,<span class='macro_popup'>g_signal_connect_data ((dialog), ("error-reported"), (((GCallback<br>) (launcher_error_reported))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> <span class='macro'>G_CALLBACK (launcher_error_reported),<span class='macro_popup'>g_signal_connect_data ((dialog), ("error-reported"), (((GCallback<br>) (launcher_error_reported))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((dialog), ("error-reported"), (((GCallback<br>) (launcher_error_reported))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (panel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (dialog)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"pos"</span>, <span class='macro'>GINT_TO_POINTER (pos)<span class='macro_popup'>((gpointer) (glong) (pos))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (dialog)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"panel"</span>, panel);</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> gtk_widget_show (dialog);</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line">panel_launcher_create_from_info (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> gboolean exec_info,</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *exec_or_uri,</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *comment,</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *icon)</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> GKeyFile *key_file;</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> <span class='keyword'>char</span> *location;</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> GError *error;</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> key_file = panel_key_file_new_desktop ();</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>/* set current language and the "C" locale to this name,</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='comment'>* this is kind of evil... */</span></td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Name"</span>, name)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Name", name<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Comment"</span>, comment)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Comment", comment<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Icon"</span>, icon)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Icon", icon<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> panel_key_file_set_locale_string (key_file, <span class='string_literal'>"Name"</span>, name);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> panel_key_file_set_locale_string (key_file, <span class='string_literal'>"Comment"</span>, comment);</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> panel_key_file_set_locale_string (key_file, <span class='string_literal'>"Icon"</span>, icon);</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> <span class='keyword'>if</span> (exec_info) {</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Exec"</span>, exec_or_uri)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Exec", exec_or_uri<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Type"</span>, <span class='string_literal'>"Application"</span>)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Type", "Application"<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"URL"</span>, exec_or_uri)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "URL", exec_or_uri<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='macro'>panel_key_file_set_string (key_file, <span class='string_literal'>"Type"</span>, <span class='string_literal'>"Link"</span>)<span class='macro_popup'>g_key_file_set_string (key_file, "Desktop Entry", "Type", "Link"<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> location = panel_make_unique_desktop_uri (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, exec_or_uri);</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> <span class='keyword'>if</span> (panel_key_file_to_file (key_file, location, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> panel_launcher_create (toplevel, position, location);</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> panel_error_dialog (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> <span class='string_literal'>"cannot_save_launcher"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Could not save launcher"</span>)<span class='macro_popup'>gettext ("Could not save launcher")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> g_free (location);</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> g_key_file_free (key_file);</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line">panel_launcher_create_with_id (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *location)</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>char</span> *no_uri;</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> <span class='keyword'>char</span> *new_location;</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> <span class='macro'>g_return_if_fail (location != NULL)<span class='macro_popup'>do { if ((location != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "location != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> id = panel_profile_prepare_object_with_id (PANEL_OBJECT_LAUNCHER,</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> position,</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> path = g_strdup_printf (<span class='string_literal'>"%s%s/"</span>, <span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> no_uri = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> <span class='comment'>/* if we have an URI, it might contain escaped characters (? : etc)</span></td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='comment'>* that might get unescaped on disk */</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='keyword'>if</span> (!g_ascii_strncasecmp (location, <span class='string_literal'>"file:"</span>, strlen (<span class='string_literal'>"file:"</span>)))</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> no_uri = g_filename_from_uri (location, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='keyword'>if</span> (!no_uri)</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> no_uri = <span class='macro'>g_strdup (location)<span class='macro_popup'>g_strdup_inline (location)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> new_location = panel_launcher_get_filename (no_uri);</td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"> <span class='keyword'>if</span> (new_location == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> new_location = <span class='macro'>g_strdup (no_uri)<span class='macro_popup'>g_strdup_inline (no_uri)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> g_settings_set_string (settings, <span class='macro'>PANEL_OBJECT_LAUNCHER_LOCATION_KEY<span class='macro_popup'>"launcher-location"</span></span>, new_location);</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> panel_profile_add_to_list (PANEL_GSETTINGS_OBJECTS, id);</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> g_free (no_uri);</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> g_free (new_location);</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> g_free (id);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line">panel_launcher_create (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *location)</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> panel_launcher_create_with_id (panel_profile_get_toplevel_id (toplevel),</td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> position,</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> location);</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line">panel_launcher_create_copy (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *location)</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> <span class='keyword'>char</span> *new_location;</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> GFile *source;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> GFile *dest;</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> gboolean copied;</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> new_location = panel_make_unique_desktop_uri (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, location);</td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> source = panel_launcher_get_gfile (location);</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> dest = g_file_new_for_uri (new_location);</td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> copied = g_file_copy (source, dest, G_FILE_COPY_OVERWRITE,</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>if</span> (copied) {</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> gchar *filename;</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> filename = panel_launcher_get_filename (new_location);</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> panel_launcher_create (toplevel, position, filename);</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> g_free (filename);</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> g_object_unref (source);</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> g_object_unref (dest);</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> g_free (new_location);</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>return</span> copied;</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line">Launcher *</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line">find_launcher (<span class='keyword'>const</span> <span class='keyword'>char</span> *path)</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> <span class='macro'>g_return_val_if_fail (path != NULL, NULL)<span class='macro_popup'>do { if ((path != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "path != NULL"); return<br> (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> <span class='keyword'>for</span> (l = mate_panel_applet_list_applets (); l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> AppletInfo *info = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> Launcher *launcher;</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> <span class='keyword'>if</span> (info-&gt;type != PANEL_OBJECT_LAUNCHER)</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> launcher = info-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>if</span> (launcher-&gt;key_file == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>if</span> (launcher-&gt;location != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> strcmp (launcher-&gt;location, path) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> <span class='keyword'>return</span> launcher;</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line">panel_launcher_set_dnd_enabled (Launcher *launcher,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> gboolean dnd_enabled)</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> <span class='keyword'>if</span> (dnd_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> <span class='keyword'>static</span> GtkTargetEntry dnd_targets[] = {</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> { <span class='string_literal'>"application/x-panel-icon-internal"</span>, 0, TARGET_ICON_INTERNAL },</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> { <span class='string_literal'>"text/uri-list"</span>, 0, TARGET_URI_LIST }</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> gtk_widget_set_has_window (launcher-&gt;button, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> gtk_drag_source_set (launcher-&gt;button,</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> GDK_BUTTON1_MASK,</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> dnd_targets, 2,</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> GDK_ACTION_COPY | GDK_ACTION_MOVE);</td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> cairo_surface_t *surface = button_widget_get_surface (<span class='macro'>BUTTON_WIDGET (launcher-&gt;button)<span class='macro_popup'>((((ButtonWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((launcher-&gt;button)), ((button_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> <span class='keyword'>if</span> (surface) {</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> GdkPixbuf *pixbuf;</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> pixbuf = gdk_pixbuf_get_from_surface (surface,</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> cairo_image_surface_get_width (surface),</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> cairo_image_surface_get_height (surface));</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> gtk_drag_source_set_icon_pixbuf (launcher-&gt;button,</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> g_object_unref (pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> gtk_widget_set_has_window (launcher-&gt;button, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_drag_source_unset (launcher-&gt;button);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-51a1d8.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-51a1d8.html
new file mode 100644
index 00000000..763a591b
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-51a1d8.html
@@ -0,0 +1,3246 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet.c -->
+
+<!-- FILENAME mate-panel-applet.c -->
+
+<!-- FUNCTIONNAME mate_panel_applet_set_flags -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 51a1d823b28950a2100f4ff107e97334 -->
+
+<!-- BUGLINE 228 -->
+
+<!-- BUGCOLUMN 37 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 228, column 37</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"228": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet.c: panel applet writing library.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (c) 2010 Carlos Garcia Campos &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2001 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;cairo-xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;gtk/gtkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;X11/Xatom.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-plug-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-applet-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "mate-panel-applet-factory.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "mate-panel-applet-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "mate-panel-applet-enums.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget *plug;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> GDBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gboolean out_of_process;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> GClosure *closure;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint object_id;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>char</span> *prefs_path;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> GtkUIManager *ui_manager;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkActionGroup *applet_action_group;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> GtkActionGroup *panel_action_group;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint size;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>char</span> *background;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>int</span> previous_width;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>int</span> previous_height;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='keyword'>int</span> size_hints_len;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gboolean moving_focus_out;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> gboolean locked_down;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} MatePanelAppletPrivate;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> CHANGE_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> CHANGE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> CHANGE_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> MOVE_FOCUS_OUT_OF_APPLET,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"><span class='keyword'>static</span> guint mate_panel_applet_signals[LAST_SIGNAL] = { 0 };</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> PROP_LOCKED_DOWN</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_handle_background (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> GtkAction *mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>const</span> gchar *action);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_update_actions (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_register_object (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css (GtkWidget* widget, MatePanelAppletBackgroundType type);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar panel_menu_ui[] =</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='string_literal'>"&lt;ui&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>" &lt;popup name=\"MatePanelAppletPopup\" action=\"PopupAction\"&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='string_literal'>" &lt;placeholder name=\"AppletItems\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"RemoveItem\" action=\"Remove\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"MoveItem\" action=\"Move\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"LockItem\" action=\"Lock\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='string_literal'>" &lt;/popup&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='string_literal'>"&lt;/ui&gt;\n"</span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry menu_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> { <span class='string_literal'>"Remove"</span>, <span class='string_literal'>"list-remove"</span>, <span class='macro'>N_(<span class='string_literal'>"_Remove From Panel"</span>)<span class='macro_popup'>("_Remove From Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_remove)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_remove))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> { <span class='string_literal'>"Move"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"_Move"</span>)<span class='macro_popup'>("_Move")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_move)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_move))</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkToggleActionEntry menu_toggle_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> { <span class='string_literal'>"Lock"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"Loc_k To Panel"</span>)<span class='macro_popup'>("Loc_k To Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_lock)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_lock))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (MatePanelApplet, mate_panel_applet, GTK_TYPE_EVENT_BOX)<span class='macro_popup'>static void mate_panel_applet_init (MatePanelApplet *self); static<br> void mate_panel_applet_class_init (MatePanelAppletClass *klass<br>); static GType mate_panel_applet_get_type_once (void); static<br> gpointer mate_panel_applet_parent_class = ((void*)0); static<br> gint MatePanelApplet_private_offset; static void mate_panel_applet_class_intern_init<br> (gpointer klass) { mate_panel_applet_parent_class = g_type_class_peek_parent<br> (klass); if (MatePanelApplet_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;MatePanelApplet_private_offset); mate_panel_applet_class_init<br> ((MatePanelAppletClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer mate_panel_applet_get_instance_private<br> (MatePanelApplet *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (MatePanelApplet_private_offset)))); } GType mate_panel_applet_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = mate_panel_applet_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType mate_panel_applet_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_event_box_get_type ()), g_intern_static_string ("MatePanelApplet"<br>), sizeof (MatePanelAppletClass), (GClassInitFunc)(void (*)(void<br>)) mate_panel_applet_class_intern_init, sizeof (MatePanelApplet<br>), (GInstanceInitFunc)(void (*)(void)) mate_panel_applet_init<br>, (GTypeFlags) 0); { {{ MatePanelApplet_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (MatePanelAppletPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span> "org.mate.panel.applet.Applet"</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span> "/org/mate/panel/applet/%s/%d"</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">mate_panel_applet_get_preferences_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (priv-&gt;prefs_path)<span class='macro_popup'>g_strdup_inline (priv-&gt;prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">mate_panel_applet_set_preferences_path (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;prefs_path == prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;prefs_path, prefs_path) == 0)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>if</span> (prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> priv-&gt;prefs_path = <span class='macro'>g_strdup (prefs_path)<span class='macro_popup'>g_strdup_inline (prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"prefs-path"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">MatePanelAppletFlags</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line">mate_panel_applet_get_flags (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), MATE_PANEL_APPLET_FLAGS_NONE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (MATE_PANEL_APPLET_FLAGS_NONE); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>return</span> priv-&gt;flags;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">mate_panel_applet_set_flags (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> MatePanelAppletFlags flags)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;flags == flags)</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> priv-&gt;flags = flags;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"flags"</span>);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> g_variant_builder_init (&amp;builder, <span class="mrange"><span class="mrange"><span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span></span></span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:51ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> g_variant_new_uint32 (priv-&gt;flags));</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::Flags: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line">mate_panel_applet_size_hints_ensure (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> new_size)</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints &amp;&amp; priv-&gt;size_hints_len &lt; new_size) {</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> g_free (priv-&gt;size_hints);</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!priv-&gt;size_hints) {</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> priv-&gt;size_hints_len = new_size;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line">mate_panel_applet_size_hints_changed (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;size_hints)</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints_len != n_elements)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++) {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>if</span> (size_hints[i] + base_size != priv-&gt;size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='comment'>* mate_panel_applet_set_size_hints:</span></td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='comment'>* @applet: applet</span></td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='comment'>* @size_hints: (array length=n_elements): List of integers</span></td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='comment'>* @n_elements: Length of @size_hints</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='comment'>* @base_size: base_size</span></td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line">mate_panel_applet_set_size_hints (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='comment'>/* Make sure property has really changed to avoid bus traffic */</span></td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_size_hints_changed (applet, size_hints, n_elements, base_size))</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> mate_panel_applet_size_hints_ensure (applet, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> priv-&gt;size_hints[i] = size_hints[i] + base_size;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size-hints"</span>);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> children, priv-&gt;size_hints_len));</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::SizeHints: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line">guint</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line">mate_panel_applet_get_size (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>return</span> priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"><span class='comment'>/* Applets cannot set their size, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line">mate_panel_applet_set_size (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> guint size)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE],</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> 0, size);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line">MatePanelAppletOrient</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">mate_panel_applet_get_orient (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span> priv-&gt;orient;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"><span class='comment'>/* Applets cannot set their orientation, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">mate_panel_applet_set_orient (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> MatePanelAppletOrient orient)</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == orient)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> priv-&gt;orient = orient;</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT],</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> 0, orient);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orient"</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line">mate_panel_applet_set_locked (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> gboolean locked)</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> GtkAction *action;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked == locked)</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> priv-&gt;locked = locked;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> action = mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>);</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='macro'>g_signal_handlers_block_by_func (action,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> gtk_toggle_action_set_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>, locked);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='macro'>g_signal_handlers_unblock_by_func (action,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked"</span>);</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal %s: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line">mate_panel_applet_get_locked_down (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> priv-&gt;locked_down;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"><span class='comment'>/* Applets cannot set the lockdown state, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line">mate_panel_applet_set_locked_down (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> gboolean locked_down)</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked_down == locked_down)</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> priv-&gt;locked_down = locked_down;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked-down"</span>);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type_dock = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"><span class='keyword'>static</span> Atom _net_active_window = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line">mate_panel_applet_init_atoms (Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> _net_wm_window_type = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE"</span>,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type_dock == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> _net_wm_window_type_dock = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE_DOCK"</span>,</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (_net_active_window == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> _net_active_window = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='string_literal'>"_NET_ACTIVE_WINDOW"</span>,</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='keyword'>static</span> Window</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line">mate_panel_applet_find_toplevel_dock_window (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> Window xwin;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> Window root, parent, *child;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>int</span> num_children;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> xwin = <span class='macro'>GDK_WINDOW_XID (gtk_widget_get_window (toplevel))<span class='macro_popup'>(gdk_x11_window_get_xid (gtk_widget_get_window (toplevel)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> child = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> parent = root = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> Atom type_return;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> Atom window_type;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='keyword'>int</span> format_return;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> gulong number_return, bytes_after_return;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> guchar *data_return;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> XGetWindowProperty (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> _net_wm_window_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> 0, 1, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> &amp;type_return, &amp;format_return,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> &amp;number_return,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> &amp;bytes_after_return,</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> &amp;data_return);</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='keyword'>if</span> (type_return == <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> window_type = *(Atom *) data_return;</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> XFree (data_return);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> data_return = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='keyword'>if</span> (window_type == _net_wm_window_type_dock)</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='keyword'>return</span> xwin;</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> <span class='keyword'>if</span> (!XQueryTree (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> &amp;root, &amp;parent, &amp;child,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> (guint *) &amp;num_children)) {</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; num_children &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> XFree (child);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> xwin = parent;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> } <span class='keyword'>while</span> (xwin != <span class='macro'>None<span class='macro_popup'>0L</span></span> &amp;&amp; xwin != root);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"><span class='comment'>/* This function</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> <span class='comment'>* 1) Gets the window id of the panel that contains the applet</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='comment'>* using XQueryTree and XGetWindowProperty to find an ancestor</span></td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='comment'>* window with the _NET_WM_WINDOW_TYPE_DOCK window type.</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='comment'>* 2) Sends a _NET_ACTIVE_WINDOW message to get that panel focused</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">mate_panel_applet_request_focus (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> guint32 timestamp)</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> GdkWindow *root;</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> Window dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> Window xroot;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> XEvent xev;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> screen = gdk_screen_get_default(); <span class='comment'>/*There is only one screen since GTK 3.22*/</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> root = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> xdisplay = <span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> xroot = <span class='macro'>GDK_WINDOW_XID (root)<span class='macro_popup'>(gdk_x11_window_get_xid (root))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> mate_panel_applet_init_atoms (xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> dock_xwindow = mate_panel_applet_find_toplevel_dock_window (applet, xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>if</span> (dock_xwindow == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> xev.xclient.type = <span class='macro'>ClientMessage<span class='macro_popup'>33</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> xev.xclient.serial = 0;</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> xev.xclient.send_event = <span class='macro'>True<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> xev.xclient.window = dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xev.xclient.message_type = _net_active_window;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> xev.xclient.format = 32;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> xev.xclient.data.l[0] = 1; <span class='comment'>/* requestor type; we're an app, I guess */</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> xev.xclient.data.l[1] = timestamp;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> xev.xclient.data.l[2] = <span class='macro'>None<span class='macro_popup'>0L</span></span>; <span class='comment'>/* "currently active window", supposedly */</span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> xev.xclient.data.l[3] = 0;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> xev.xclient.data.l[4] = 0;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> XSendEvent (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> xroot, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='macro'>SubstructureRedirectMask<span class='macro_popup'>(1L&lt;&lt;20)</span></span> | <span class='macro'>SubstructureNotifyMask<span class='macro_popup'>(1L&lt;&lt;19)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> &amp;xev);</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"><span class='keyword'>static</span> GtkAction *</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line">mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>const</span> gchar *action)</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span> gtk_action_group_get_action (priv-&gt;panel_action_group, action);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line">mate_panel_applet_menu_update_actions (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>),</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Move"</span>),</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Remove"</span>),</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='string_literal'>"RemoveFromPanel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='string_literal'>"Move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line">mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> locked = gtk_toggle_action_get_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> mate_panel_applet_set_locked (applet, locked);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line">mate_panel_applet_setup_menu (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>const</span> gchar *xml,</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> gchar *new_xml;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> <span class='macro'>g_return_if_fail (xml != NULL)<span class='macro_popup'>do { if ((xml != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xml != NULL"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> priv-&gt;applet_action_group = <span class='macro'>g_object_ref (applet_action_group)<span class='macro_popup'>((__typeof__ (applet_action_group)) (g_object_ref) (applet_action_group<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> applet_action_group, 0);</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> new_xml = g_strdup_printf (<span class='string_literal'>"&lt;ui&gt;&lt;popup name=\"MatePanelAppletPopup\" action=\"AppletItems\"&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='string_literal'>"&lt;placeholder name=\"AppletItems\"&gt;%s\n&lt;/placeholder&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='string_literal'>"&lt;/popup&gt;&lt;/ui&gt;\n"</span>, xml);</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager, new_xml, -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> g_free (new_xml);</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> gtk_ui_manager_ensure_update (priv-&gt;ui_manager);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> g_warning (<span class='string_literal'>"Error merging menus: %s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line">mate_panel_applet_setup_menu_from_file (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>const</span> gchar *filename,</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> gchar *xml = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='keyword'>if</span> (g_file_get_contents (filename, &amp;xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> mate_panel_applet_setup_menu (applet, xml, applet_action_group);</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> g_free (xml);</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* mate_panel_applet_setup_menu_from_resource:</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>* @applet: a #MatePanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='comment'>* @resource_path: a resource path</span></td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='comment'>* @action_group: a #GtkActionGroup.</span></td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='comment'>* Sets up the context menu of @applet. @filename is a resource path to a menu</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='comment'>* XML file, containing a #GtkUIManager UI definition that describes how to</span></td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='comment'>* display the menu items. @action_group contains the various #GtkAction that</span></td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='comment'>* are referenced in @xml.</span></td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='comment'>* See also the &lt;link linkend="getting-started.context-menu"&gt;Context</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='comment'>* Menu&lt;/link&gt; section.</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='comment'>* Since: 1.20.1</span></td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line">mate_panel_applet_setup_menu_from_resource (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>const</span> gchar *resource_path,</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> GtkActionGroup *action_group)</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> GBytes *bytes;</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> bytes = g_resources_lookup_data (resource_path,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> G_RESOURCE_LOOKUP_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> <span class='keyword'>if</span> (bytes) {</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> mate_panel_applet_setup_menu (applet,</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> g_bytes_get_data (bytes, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> g_bytes_unref (bytes);</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">mate_panel_applet_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;object_id)</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_dbus_connection_unregister_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> priv-&gt;object_id);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> priv-&gt;object_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;connection)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;connection)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;connection))) _pp = ((&amp;priv-&gt;connection)<br>); __typeof__ (*((&amp;priv-&gt;connection))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;object_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;object_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;object_path)) _pp = (&amp;priv-&gt;object_path); __typeof__<br> (*(&amp;priv-&gt;object_path)) _ptr = *_pp; *_pp = ((void*)0<br>); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> mate_panel_applet_set_preferences_path (applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;applet_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;applet_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;applet_action_group))) _pp = ((&amp;priv-&gt;<br>applet_action_group)); __typeof__ (*((&amp;priv-&gt;applet_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;panel_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;panel_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;panel_action_group))) _pp = ((&amp;priv-&gt;<br>panel_action_group)); __typeof__ (*((&amp;priv-&gt;panel_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;ui_manager)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;ui_manager)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;ui_manager))) _pp = ((&amp;priv-&gt;ui_manager)<br>); __typeof__ (*((&amp;priv-&gt;ui_manager))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;size_hints, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;size_hints) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;size_hints)) _pp = (&amp;priv-&gt;size_hints); __typeof__<br> (*(&amp;priv-&gt;size_hints)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;prefs_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;prefs_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;prefs_path)) _pp = (&amp;priv-&gt;prefs_path); __typeof__<br> (*(&amp;priv-&gt;prefs_path)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;background, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;background) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;background)) _pp = (&amp;priv-&gt;background); __typeof__<br> (*(&amp;priv-&gt;background)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;id, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;id) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;priv-&gt;<br>id)) _pp = (&amp;priv-&gt;id); __typeof__ (*(&amp;priv-&gt;id<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> <span class='comment'>/* closure is owned by the factory */</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> priv-&gt;closure = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line">container_has_focusable_child (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GList *t;</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> list = gtk_container_get_children (container);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='keyword'>for</span> (t = list; t; t = t-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> GtkWidget *child = <span class='macro'>GTK_WIDGET (t-&gt;data)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((t-&gt;data)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_can_focus (child)) {</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GTK_IS_CONTAINER (child)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(child)); GType __t = ((gtk_container_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> retval = container_has_focusable_child (<span class='macro'>GTK_CONTAINER (child)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((child)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='keyword'>if</span> (retval)</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_list_free (list);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line">mate_panel_applet_menu_popup (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> GdkEvent *event)</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> GtkWidget *menu;</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> menu = gtk_ui_manager_get_widget (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='string_literal'>"/MatePanelAppletPopup"</span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='comment'>/* Set up theme and transparency support */</span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> GtkWidget *toplevel = gtk_widget_get_toplevel (menu);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"><span class='comment'>/* Fix any failures of compiz/other wm's to communicate with gtk for transparency */</span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"><span class='comment'>/* Set menu and it's toplevel window to follow panel theme */</span></td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> GdkGravity widget_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> GdkGravity menu_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (priv-&gt;orient) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> menu_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> widget_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> menu_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> widget_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> gtk_menu_popup_at_widget (<span class='macro'>GTK_MENU (menu)<span class='macro_popup'>((((GtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> widget_anchor,</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> menu_anchor,</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> event);</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line">mate_panel_applet_can_focus (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='comment'>* A MatePanelApplet widget can focus if it has a tooltip or it does</span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='comment'>* not have any focusable children.</span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget))</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>if</span> (!MATE_PANEL_IS_APPLET (widget))</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>return</span> !container_has_focusable_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"><span class='comment'>/* Taken from libmatecomponentui/matecomponent/matecomponent-plug.c */</span></td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line">mate_panel_applet_button_event (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> GdkWindow *socket_window;</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> XEvent xevent;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> widget = priv-&gt;plug;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_toplevel (widget))</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> socket_window = gtk_plug_get_socket_window (<span class='macro'>GTK_PLUG (widget)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (event-&gt;type == GDK_BUTTON_PRESS) {</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonPress<span class='macro_popup'>4</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='comment'>/* X does an automatic pointer grab on button press</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='comment'>* if we have both button press and release events</span></td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='comment'>* selected.</span></td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='comment'>* We don't want to hog the pointer on our parent.</span></td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonRelease<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> xevent.xbutton.display = <span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> xevent.xbutton.window = <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> xevent.xbutton.root = <span class='macro'>GDK_WINDOW_XID (gdk_screen_get_root_window<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> <span class='macro'>(gdk_window_get_screen (window)))<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> <span class='comment'>* FIXME: the following might cause</span></td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='comment'>* big problems for non-GTK apps</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> xevent.xbutton.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> xevent.xbutton.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> xevent.xbutton.x_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> xevent.xbutton.y_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> xevent.xbutton.state = event-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> xevent.xbutton.button = event-&gt;button;</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xevent.xbutton.same_screen = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; <span class='comment'>/* FIXME ? */</span></td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> XSendEvent (<span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>NoEventMask<span class='macro_popup'>0L</span></span>, &amp;xevent);</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> gdk_display_flush (display);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line">mate_panel_applet_button_press (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>if</span> (!container_has_focusable_child (<span class='macro'>GTK_CONTAINER (applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_container_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>/*Limit the window list's applet menu to the handle area*/</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='keyword'>if</span> (!(<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> flags = mate_panel_applet_get_flags (applet);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>if</span> (flags &amp; MATE_PANEL_APPLET_EXPAND_MAJOR)</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 3) {</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> mate_panel_applet_menu_popup (applet, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">mate_panel_applet_button_release (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='comment'>/*Open the applet context menu only on Menu key</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='comment'>*Do not open it on Return or some applets won't work</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line">mate_panel_applet_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='keyword'>if</span> (event-&gt;keyval == <span class='macro'>GDK_KEY_Menu<span class='macro_popup'>0xff67</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> mate_panel_applet_menu_popup (MATE_PANEL_APPLET (widget), (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line">mate_panel_applet_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> <span class='keyword'>int</span> *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>int</span> *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_width (widget,</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> natural_width);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> *minimum_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> *natural_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line">mate_panel_applet_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='keyword'>int</span> *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>int</span> *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_height (widget,</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> natural_height);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> *minimum_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> *natural_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"><span class='keyword'>static</span> GtkSizeRequestMode</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line">mate_panel_applet_get_request_mode (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='comment'>/* Do not use GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='comment'>* or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='comment'>* to avoid problems with in-process applets</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='comment'>* when the panel is not expanded</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='comment'>* See https://github.com/mate-desktop/mate-panel/issues/797</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='comment'>* and https://github.com/mate-desktop/mate-panel/issues/799</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='comment'>* Out of process applets already use GTK_SIZE_REQUEST_CONSTANT_SIZE</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>return</span> GTK_SIZE_REQUEST_CONSTANT_SIZE;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line">mate_panel_applet_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_can_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;size_allocate (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>int</span> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> GtkBin *bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> child_allocation.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> child_allocation.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> child_allocation.width = <span class='macro'>MAX (allocation-&gt;width - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;width - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;width - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> child_allocation.height = <span class='macro'>MAX (allocation-&gt;height - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;height - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;height - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> allocation-&gt;x + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> allocation-&gt;y + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> child_allocation.width,</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> child_allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> GtkWidget *child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>if</span> (child)</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> gtk_widget_size_allocate (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='keyword'>if</span> ((priv-&gt;previous_height != allocation-&gt;height) ||</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> (priv-&gt;previous_width != allocation-&gt;width)) {</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> priv-&gt;previous_height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> priv-&gt;previous_width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"><span class='keyword'>static</span> gboolean mate_panel_applet_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> <span class='keyword'>int</span> border_width;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> gdouble x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;draw(widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget))</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> width = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> height = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> width -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> height -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_render_focus (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line">mate_panel_applet_focus (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> GtkWidget *previous_focus_child;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (widget), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (widget))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (widget)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;moving_focus_out) {</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='comment'>* Applet will retain focus if there is nothing else on the</span></td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='comment'>* panel to get focus</span></td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> previous_focus_child = gtk_container_get_focus_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='keyword'>if</span> (!previous_focus_child &amp;&amp; !gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> ret = <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;focus (widget, dir);</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> <span class='keyword'>if</span> (!ret &amp;&amp; !previous_focus_child) {</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> <span class='comment'>* Applet does not have a widget which can focus so set</span></td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>* the focus on the applet unless it already had focus</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* because it had a tooltip.</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line">mate_panel_applet_parse_color (<span class='keyword'>const</span> gchar *color_str,</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='macro'>g_assert (color_str &amp;&amp; color)<span class='macro_popup'>do { if (color_str &amp;&amp; color) ; else g_assertion_message_expr<br> (((gchar*) 0), "mate-panel-applet.c", 1285, ((const char*) (<br>__func__)), "color_str &amp;&amp; color"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='keyword'>return</span> gdk_rgba_parse (color, color_str);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line">mate_panel_applet_parse_pixmap_str (<span class='keyword'>const</span> <span class='keyword'>char</span> *str,</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> Window *xid,</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> *y)</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> <span class='keyword'>char</span> *tmp;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> <span class='macro'>g_return_val_if_fail (str != NULL, FALSE)<span class='macro_popup'>do { if ((str != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "str != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> <span class='macro'>g_return_val_if_fail (xid != NULL, FALSE)<span class='macro_popup'>do { if ((xid != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xid != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>g_return_val_if_fail (x != NULL, FALSE)<span class='macro_popup'>do { if ((x != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "x != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='macro'>g_return_val_if_fail (y != NULL, FALSE)<span class='macro_popup'>do { if ((y != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "y != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> elements = g_strsplit (str, <span class='string_literal'>","</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> <span class='keyword'>if</span> (!elements)</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> <span class='keyword'>if</span> (!elements [0] || !*elements [0] ||</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> !elements [1] || !*elements [1] ||</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> !elements [2] || !*elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> *xid = strtol (elements [0], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [0])</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> *x = strtol (elements [1], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [1])</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> *y = strtol (elements [2], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line">ERROR_AND_FREE:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"><span class='keyword'>static</span> cairo_surface_t *</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line">mate_panel_applet_create_foreign_surface_for_display (GdkDisplay *display,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> GdkVisual *visual,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> Window xid)</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>Status<span class='macro_popup'>int</span></span> result = 0;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> Window window;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> gint x, y;</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> guint width, height, border, depth;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> result = XGetGeometry (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>, xid, &amp;window,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> &amp;x, &amp;y, &amp;width, &amp;height, &amp;border, &amp;depth);</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>if</span> (result == 0)</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> <span class='keyword'>return</span> cairo_xlib_surface_create (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> xid, gdk_x11_visual_get_xvisual (visual),</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"><span class='keyword'>static</span> cairo_pattern_t *</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line">mate_panel_applet_get_pattern_from_pixmap (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> Window xid,</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> cairo_surface_t *background;</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> <span class='keyword'>int</span> width;</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>int</span> height;</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> background = mate_panel_applet_create_foreign_surface_for_display (display,</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> gdk_window_get_visual (window),</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> xid);</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='comment'>/* background can be NULL if the user changes the background very fast.</span></td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='comment'>* We'll get the next update, so it's not a big deal. */</span></td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>if</span> (!background || cairo_surface_status (background) != CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> <span class='keyword'>if</span> (background)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> width = gdk_window_get_width(window);</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> height = gdk_window_get_height(window);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> surface = gdk_window_create_similar_surface (window,</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> width,</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> height);</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> cr = cairo_create (surface);</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> cairo_set_source_surface (cr, background, -x, -y);</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>if</span> (cairo_status (cr) == CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> pattern = cairo_pattern_create_for_surface (surface);</td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> <span class='keyword'>return</span> pattern;</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"><span class='keyword'>static</span> MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line">mate_panel_applet_handle_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> MatePanelAppletBackgroundType retval;</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>) || !priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> elements = g_strsplit (priv-&gt;background, <span class='string_literal'>":"</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"none"</span> )) {</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='macro'>g_return_val_if_fail (color != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> <span class='keyword'>if</span> (!elements [1] || !mate_panel_applet_parse_color (elements [1], color)) {</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received"</span>, elements [0]);</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> retval = PANEL_COLOR_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"pixmap"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> Window pixmap_id;</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='macro'>g_return_val_if_fail (pattern != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((pattern != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "pattern != NULL"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_parse_pixmap_str (elements [1], &amp;pixmap_id, &amp;x, &amp;y)) {</td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> elements [0], elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> *pattern = mate_panel_applet_get_pattern_from_pixmap (applet, pixmap_id, x, y);</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> <span class='keyword'>if</span> (!*pattern) {</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> g_warning (<span class='string_literal'>"Failed to get pattern %s"</span>, elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> retval = PANEL_PIXMAP_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> g_warning(<span class='string_literal'>"Received pixmap background type, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> g_warning (<span class='string_literal'>"Unknown background type received"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line">MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line">mate_panel_applet_get_background (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> <span class='comment'>/* initial sanity */</span></td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> <span class='keyword'>if</span> (pattern != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> *pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> <span class='keyword'>if</span> (color != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> memset (color, 0, <span class='keyword'>sizeof</span> (GdkRGBA));</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_handle_background_string (applet, color, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line">mate_panel_applet_set_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> <span class='keyword'>const</span> gchar *background)</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background == background)</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;background, background) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> g_free (priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> priv-&gt;background = background ? <span class='macro'>g_strdup (background)<span class='macro_popup'>g_strdup_inline (background)</span></span> : <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line">mate_panel_applet_handle_background (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> MatePanelAppletBackgroundType type;</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> type = mate_panel_applet_get_background (applet, &amp;color, &amp;pattern);</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> <span class='keyword'>if</span> (!gdk_screen_is_composited (gdk_screen_get_default ())) {</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> 0, PANEL_NO_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> 0, PANEL_COLOR_BACKGROUND, &amp;color, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> 0, PANEL_PIXMAP_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> cairo_pattern_destroy (pattern);</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1562, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line">mate_panel_applet_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line">mate_panel_applet_move_focus_out_of_applet (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel)<span class='macro_popup'>do { if ((toplevel)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "toplevel"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> gtk_widget_child_focus (toplevel, dir);</td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line">mate_panel_applet_change_background(MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> MatePanelAppletBackgroundType type,</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> GdkRGBA* color,</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> cairo_pattern_t *pattern)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> gtk_widget_set_app_paintable (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> _mate_panel_applet_apply_css (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>,type);</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> cairo_pattern_t *transparent = cairo_pattern_create_rgba (0, 0, 0, 0); <span class='comment'>/* Using NULL here breaks transparent */</span></td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> gdk_window_set_background_pattern (window, transparent); <span class='comment'>/* backgrounds set by GTK theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> cairo_pattern_destroy (transparent);</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> gdk_window_set_background_rgba(window,color);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> gdk_window_set_background_pattern(window,pattern);</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1639, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_UP ||</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"horizontal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"vertical"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">mate_panel_applet_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_value_set_boolean (value, priv-&gt;out_of_process);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> g_value_set_string (value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> g_value_set_pointer (value, priv-&gt;closure);</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> g_value_set_object (value, priv-&gt;connection);</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line"> g_value_set_string (value, priv-&gt;prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line"> g_value_set_uint (value, priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> g_value_set_uint (value, priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> g_value_set_string (value, priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> g_value_set_uint (value, priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> GVariant *variant;</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> variant = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> g_value_set_pointer (value, variant);</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1717, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line">mate_panel_applet_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> priv-&gt;out_of_process = g_value_get_boolean (value);</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> priv-&gt;id = g_value_dup_string (value);</td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> priv-&gt;closure = g_value_get_pointer (value);</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> g_closure_set_marshal (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> mate_panel_applet_marshal_BOOLEAN__STRING);</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> priv-&gt;connection = g_value_dup_object (value);</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> mate_panel_applet_set_orient (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> mate_panel_applet_set_size (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> mate_panel_applet_set_background_string (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> mate_panel_applet_set_flags (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> size_hints = g_variant_get_fixed_array (g_value_get_pointer (value),</td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> mate_panel_applet_set_locked (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1779, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line">add_tab_bindings (GtkBindingSet *binding_set,</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> GdkModifierType modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> GtkDirectionType direction)</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_Tab<span class='macro_popup'>0xff09</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_KP_Tab<span class='macro_popup'>0xff89</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line">mate_panel_applet_setup (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> GValue value = {0, };</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> GArray *params;</td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> <span class='macro'>g_assert ((priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL))<span class='macro_popup'>do { if ((priv-&gt;id != ((void*)0)) &amp;&amp; (priv-&gt;closure<br> != ((void*)0))) ; else g_assertion_message_expr (((gchar*) 0<br>), "mate-panel-applet.c", 1807, ((const char*) (__func__)), "(priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> params = g_array_sized_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (GValue), 2);</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"> g_value_set_object (&amp;value, <span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> g_value_set_string (&amp;value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> g_closure_invoke (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> &amp;value, params-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> (GValue *) params-&gt;data,</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; params-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> g_value_unset (&amp;<span class='macro'>g_array_index (params, GValue, i)<span class='macro_popup'>(((GValue*) (void *) (params)-&gt;data) [(i)])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> g_array_free (params, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> ret = g_value_get_boolean (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> <span class='keyword'>if</span> (!ret) { <span class='comment'>/* FIXME */</span></td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> g_warning (<span class='string_literal'>"need to free the control here"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css(GtkWidget* widget, MatePanelAppletBackgroundType type)</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> GtkStyleContext* context;</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> gtk_style_context_remove_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1857, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> _mate_panel_applet_prepare_css (GtkStyleContext *context)</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gdk_display_get_default ())"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> <span class='string_literal'>"#PanelPlug {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='string_literal'>" background-repeat: no-repeat;\n"</span> <span class='comment'>/*disable in gtk theme features */</span></td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> <span class='string_literal'>" background-size: cover; "</span> <span class='comment'>/*that don't work on panel-toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> <span class='string_literal'>" }\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> <span class='string_literal'>".mate-custom-panel-background{\n"</span> <span class='comment'>/*prepare CSS for user set theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> <span class='string_literal'>" background-color: rgba (0, 0, 0, 0);\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='string_literal'>" background-image: none;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> <span class='string_literal'>"}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> gtk_style_context_add_provider (context,</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line">mate_panel_applet_init (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> priv-&gt;flags = MATE_PANEL_APPLET_FLAGS_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> priv-&gt;orient = MATE_PANEL_APPLET_ORIENT_UP;</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> priv-&gt;size = 24;</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line"> priv-&gt;panel_action_group = gtk_action_group_new (<span class='string_literal'>"PanelActions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> gtk_action_group_set_translation_domain (priv-&gt;panel_action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> gtk_action_group_add_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> menu_entries,</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_entries)<span class='macro_popup'>(sizeof (menu_entries) / sizeof ((menu_entries)[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> gtk_action_group_add_toggle_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> menu_toggle_entries,</td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_toggle_entries)<span class='macro_popup'>(sizeof (menu_toggle_entries) / sizeof ((menu_toggle_entries)<br>[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> priv-&gt;ui_manager = gtk_ui_manager_new ();</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> priv-&gt;panel_action_group, 1);</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> panel_menu_ui, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> gtk_widget_set_events (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"><span class='keyword'>static</span> GObject *</td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line">mate_panel_applet_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> priv-&gt;plug = gtk_plug_new (0);</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> gtk_widget_set_visual (widget,</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget)));</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"> gtk_widget_set_name (widget, <span class='string_literal'>"PanelPlug"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> _mate_panel_applet_prepare_css (context);</td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='macro'>g_signal_connect_swapped (priv-&gt;plug, <span class='string_literal'>"embedded"</span>,<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_setup),<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (priv-&gt;plug)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_container_get_type ()))))))</span></span>, <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line"> g_warning (<span class='string_literal'>"Requested construction of an out-of-process applet, which is only possible on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line">mate_panel_applet_constructed (GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> MatePanelApplet* applet = MATE_PANEL_APPLET(object);</td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> <span class='comment'>/* Rename the class to have compatibility with all GTK2 themes</span></td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>* https://github.com/perberos/Mate-Desktop-Environment/issues/27</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> gtk_widget_set_name(<span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> mate_panel_applet_register_object (applet);</td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line">mate_panel_applet_class_init (MatePanelAppletClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> gobject_class-&gt;get_property = mate_panel_applet_get_property;</td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> gobject_class-&gt;set_property = mate_panel_applet_set_property;</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> gobject_class-&gt;constructor = mate_panel_applet_constructor;</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> gobject_class-&gt;constructed = mate_panel_applet_constructed;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> klass-&gt;move_focus_out_of_applet = mate_panel_applet_move_focus_out_of_applet;</td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> klass-&gt;change_background = mate_panel_applet_change_background;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> widget_class-&gt;button_press_event = mate_panel_applet_button_press;</td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> widget_class-&gt;button_release_event = mate_panel_applet_button_release;</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> widget_class-&gt;get_request_mode = mate_panel_applet_get_request_mode;</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> widget_class-&gt;get_preferred_width = mate_panel_applet_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> widget_class-&gt;get_preferred_height = mate_panel_applet_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> widget_class-&gt;draw = mate_panel_applet_draw;</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> widget_class-&gt;size_allocate = mate_panel_applet_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> widget_class-&gt;focus = mate_panel_applet_focus;</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> widget_class-&gt;realize = mate_panel_applet_realize;</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> widget_class-&gt;key_press_event = mate_panel_applet_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> gobject_class-&gt;finalize = mate_panel_applet_finalize;</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> g_param_spec_string (<span class='string_literal'>"id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> <span class='string_literal'>"Id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> <span class='string_literal'>"The Applet identifier"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> <span class='string_literal'>"GClosure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> <span class='string_literal'>"The Applet closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> g_param_spec_object (<span class='string_literal'>"connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> <span class='string_literal'>"Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='string_literal'>"The DBus Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='macro'>G_TYPE_DBUS_CONNECTION<span class='macro_popup'>(g_dbus_connection_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> g_param_spec_string (<span class='string_literal'>"prefs-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='string_literal'>"PrefsPath"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> <span class='string_literal'>"GSettings Preferences Path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> <span class='string_literal'>"Orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"> <span class='string_literal'>"Panel Applet Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_FIRST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_UP</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_LAST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_RIGHT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> MATE_PANEL_APPLET_ORIENT_UP,</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='string_literal'>"Panel Applet Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> 0, <span class='macro'>G_MAXUINT<span class='macro_popup'>(2147483647 *2U +1U)</span></span>, 0,</td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> g_param_spec_string (<span class='string_literal'>"background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> <span class='string_literal'>"Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> <span class='string_literal'>"Panel Applet Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='string_literal'>"Panel Applet flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_FLAGS_ALL<span class='macro_popup'>(MATE_PANEL_APPLET_EXPAND_MAJOR|MATE_PANEL_APPLET_EXPAND_MINOR<br>|MATE_PANEL_APPLET_HAS_HANDLE)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> <span class='comment'>/* FIXME: value_array? */</span></td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"size-hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> <span class='string_literal'>"Panel Applet Size Hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='string_literal'>"Locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> PROP_LOCKED_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked-down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> <span class='string_literal'>"LockedDown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT] =</td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> g_signal_new (<span class='string_literal'>"change-orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_orient)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_orient<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__UINT<span class='macro_popup'>g_cclosure_marshal_VOID__UINT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE] =</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_signal_new (<span class='string_literal'>"change-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_size)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_size<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__INT<span class='macro_popup'>g_cclosure_marshal_VOID__INT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line"> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND] =</td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line"> g_signal_new (<span class='string_literal'>"change-background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_background)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_background<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> mate_panel_applet_marshal_VOID__ENUM_BOXED_OBJECT,</td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> 3,</td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='macro'>PANEL_TYPE_MATE_PANEL_APPLET_BACKGROUND_TYPE<span class='macro_popup'>mate_panel_applet_background_type_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> <span class='macro'>GDK_TYPE_RGBA<span class='macro_popup'>(gdk_rgba_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='macro'>CAIRO_GOBJECT_TYPE_PATTERN<span class='macro_popup'>cairo_gobject_pattern_get_type ()</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> mate_panel_applet_signals [MOVE_FOCUS_OUT_OF_APPLET] =</td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> g_signal_new (<span class='string_literal'>"move_focus_out_of_applet"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, move_focus_out_of_applet)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, move_focus_out_of_applet<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__ENUM<span class='macro_popup'>g_cclosure_marshal_VOID__ENUM</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> binding_set = gtk_binding_set_by_class (gobject_class);</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> add_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line">GtkWidget* mate_panel_applet_new(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> MatePanelApplet* applet = g_object_new(<span class='macro'>PANEL_TYPE_APPLET<span class='macro_popup'>mate_panel_applet_get_type ()</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"><span class='keyword'>static</span> GdkEvent *</td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line">button_press_event_new (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> guint button,</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> guint time)</td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> GdkEvent *event;</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> device = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> event = gdk_event_new (GDK_BUTTON_PRESS);</td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> event-&gt;button.time = time;</td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> event-&gt;button.button = button;</td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> gdk_event_set_device (event, device);</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> <span class='keyword'>return</span> event;</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line">method_call_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> <span class='keyword'>const</span> gchar *method_name,</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> GVariant *parameters,</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> GDBusMethodInvocation *invocation,</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (method_name, <span class='string_literal'>"PopupMenu"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> guint button;</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> guint time;</td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> g_variant_get (parameters, <span class='string_literal'>"(uu)"</span>, &amp;button, &amp;time);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> GdkEvent *event = button_press_event_new (applet, button, time);</td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> mate_panel_applet_menu_popup (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> gdk_event_free (event);</td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> g_dbus_method_invocation_return_value (invocation, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line">get_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> GVariant *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (user_data));</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> retval = g_variant_new_string (priv-&gt;prefs_path ? priv-&gt;prefs_path : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> retval = g_variant_new_string (priv-&gt;background ? priv-&gt;background : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> retval = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line">set_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line"> GVariant *value,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> mate_panel_applet_set_orient (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> mate_panel_applet_set_size (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> mate_panel_applet_set_background_string (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> mate_panel_applet_set_flags (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> size_hints = g_variant_get_fixed_array (value, &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> mate_panel_applet_set_locked (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar introspection_xml[] =</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> <span class='string_literal'>"&lt;node&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='string_literal'>"&lt;interface name='org.mate.panel.applet.Applet'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line"> <span class='string_literal'>"&lt;method name='PopupMenu'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> <span class='string_literal'>"&lt;arg name='button' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"> <span class='string_literal'>"&lt;arg name='time' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line"> <span class='string_literal'>"&lt;/method&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='string_literal'>"&lt;property name='PrefsPath' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='string_literal'>"&lt;property name='Orient' type='u' access='readwrite' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='string_literal'>"&lt;property name='Size' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line"> <span class='string_literal'>"&lt;property name='Background' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='string_literal'>"&lt;property name='Flags' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> <span class='string_literal'>"&lt;property name='SizeHints' type='ai' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> <span class='string_literal'>"&lt;property name='Locked' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> <span class='string_literal'>"&lt;property name='LockedDown' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='string_literal'>"&lt;signal name='Move' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='string_literal'>"&lt;signal name='RemoveFromPanel' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='string_literal'>"&lt;signal name='Lock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> <span class='string_literal'>"&lt;signal name='Unlock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='string_literal'>"&lt;/interface&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> <span class='string_literal'>"&lt;/node&gt;"</span>;</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GDBusInterfaceVTable interface_vtable = {</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> method_call_cb,</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> get_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> set_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> { 0 }</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"><span class='keyword'>static</span> GDBusNodeInfo *introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line">mate_panel_applet_register_object (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>static</span> gint id = 0;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> <span class='keyword'>if</span> (!introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> priv-&gt;object_path = g_strdup_printf (<span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span>, priv-&gt;id, id++);</td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> priv-&gt;object_id =</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> g_dbus_connection_register_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> introspection_data-&gt;interfaces[0],</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> &amp;interface_vtable,</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;object_id) {</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to register object %s: %s\n"</span>, priv-&gt;object_path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_factory_main_finalized(gpointer data, GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> gtk_main_quit();</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> <span class='keyword'>if</span> (introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> g_dbus_node_info_unref(introspection_data);</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> (*_x_error_func) (Display *, XErrorEvent *);</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line">_x_error_handler (Display *display, XErrorEvent *error)</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (!error-&gt;error_code)</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='comment'>/* If we got a BadDrawable or a BadWindow, we ignore it for now.</span></td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> <span class='comment'>* FIXME: We need to somehow distinguish real errors from</span></td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> <span class='comment'>* X-server-induced errors. Keeping a list of windows for which we</span></td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> <span class='comment'>* will ignore BadDrawables would be a good idea. */</span></td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> <span class='keyword'>if</span> (error-&gt;error_code == <span class='macro'>BadDrawable<span class='macro_popup'>9</span></span> ||</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> error-&gt;error_code == <span class='macro'>BadWindow<span class='macro_popup'>3</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> <span class='keyword'>return</span> _x_error_func (display, error);</td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> <span class='comment'>* To do graphical embedding in the X window system, MATE Panel</span></td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> <span class='comment'>* uses the classic foreign-window-reparenting trick. The</span></td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='comment'>* GtkPlug/GtkSocket widgets are used for this purpose. However,</span></td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line"> <span class='comment'>* serious robustness problems arise if the GtkSocket end of the</span></td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> <span class='comment'>* connection unexpectedly dies. The X server sends out DestroyNotify</span></td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"> <span class='comment'>* events for the descendants of the GtkPlug (i.e., your embedded</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line"> <span class='comment'>* component's windows) in effectively random order. Furthermore, if</span></td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> <span class='comment'>* you happened to be drawing on any of those windows when the</span></td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line"> <span class='comment'>* GtkSocket was destroyed (a common state of affairs), an X error</span></td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> <span class='comment'>* will kill your application.</span></td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> <span class='comment'>* To solve this latter problem, MATE Panel sets up its own X error</span></td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> <span class='comment'>* handler which ignores certain X errors that might have been</span></td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> <span class='comment'>* caused by such a scenario. Other X errors get passed to gdk_x_error</span></td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='comment'>* normally.</span></td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line">_mate_panel_applet_setup_x_error_handler (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>static</span> gboolean error_handler_setup = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> <span class='keyword'>if</span> (error_handler_setup)</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> error_handler_setup = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> _x_error_func = XSetErrorHandler (_x_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line">_mate_panel_applet_factory_main_internal (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> gboolean out_process,</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> MatePanelAppletFactory* factory;</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> GClosure* closure;</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='macro'>g_return_val_if_fail(factory_id != NULL, 1)<span class='macro_popup'>do { if ((factory_id != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "factory_id != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> <span class='macro'>g_return_val_if_fail(callback != NULL, 1)<span class='macro_popup'>do { if ((callback != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "callback != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> <span class='macro'>g_assert(g_type_is_a(applet_type, PANEL_TYPE_APPLET))<span class='macro_popup'>do { if (((applet_type) == (mate_panel_applet_get_type ()) ||<br> (g_type_is_a) ((applet_type), (mate_panel_applet_get_type ()<br>)))) ; else g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 2425, ((const char*) (__func__)), "g_type_is_a(applet_type, PANEL_TYPE_APPLET)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='comment'>/*Use this both in and out of process as the tray applet always uses GtkSocket</span></td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> <span class='comment'>*to handle GtkStatusIcons whether the tray itself is built in or out of process</span></td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> _mate_panel_applet_setup_x_error_handler();</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>if</span> (out_process) {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> g_warning(<span class='string_literal'>"Requested out-of-process applet, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> closure = g_cclosure_new(<span class='macro'>G_CALLBACK(callback)<span class='macro_popup'>((GCallback) (callback))</span></span>, user_data, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> factory = mate_panel_applet_factory_new(factory_id, out_process, applet_type, closure);</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> g_closure_unref(closure);</td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_factory_register_service(factory))</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> <span class='keyword'>if</span> (out_process)</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> g_object_weak_ref(<span class='macro'>G_OBJECT(factory)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((factory)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, mate_panel_applet_factory_main_finalized, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> gtk_main();</td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> g_object_unref (factory);</td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_main:</span></td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> <span class='comment'>* @out_process: boolean, dummy to support applets sending it</span></td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line">mate_panel_applet_factory_main (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> gboolean out_process, <span class='comment'>/*Dummy to support applets w issues with this */</span></td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_setup_in_process: (skip)</span></td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line">mate_panel_applet_factory_setup_in_process (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> <span class='comment'>* mate_panel_applet_set_background_widget:</span></td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> <span class='comment'>* @applet: a #PanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> <span class='comment'>* @widget: a #GtkWidget.</span></td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> <span class='comment'>* Configure #PanelApplet to automatically draw the background of the applet on</span></td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> <span class='comment'>* @widget. It is generally enough to call this function with @applet as</span></td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"> <span class='comment'>* @widget.</span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='comment'>* Deprecated: 3.20: Do not use this API. Since 3.20 this function does nothing.</span></td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line">mate_panel_applet_set_background_widget (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line">guint32</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line">mate_panel_applet_get_xid (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> <span class='comment'>/* out_of_process should only be true on X11, so an extra runtime Wayland check is not needed */</span></td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process == <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (priv-&gt;plug)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> gtk_widget_show (priv-&gt;plug);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> <span class='keyword'>return</span> gtk_plug_get_id (<span class='macro'>GTK_PLUG (priv-&gt;plug)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"><span class='keyword'>const</span> gchar *</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">mate_panel_applet_get_object_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> <span class='keyword'>return</span> priv-&gt;object_path;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"><span class='macro'>G_MODULE_EXPORT<span class='macro_popup'>__attribute__((visibility("default")))</span></span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line">mate_panel_applet_get_applet_widget (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> guint uid)</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> widget = mate_panel_applet_factory_get_applet_widget (factory_id, uid);</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>if</span> (!widget) {</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> mate_panel_applet_setup (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>return</span> widget;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-56cac4.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-56cac4.html
new file mode 100644
index 00000000..f5d00258
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-56cac4.html
@@ -0,0 +1,2038 @@
+<!doctype html>
+<html>
+<head>
+<title>window-list.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC The left operand of '-' is a garbage value -->
+
+<!-- BUGTYPE Result of operation is garbage or undefined -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/applets/wncklet/window-list.c -->
+
+<!-- FILENAME window-list.c -->
+
+<!-- FUNCTIONNAME preview_window_reposition -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 56cac460a489df8ec8fa2350ac95385f -->
+
+<!-- BUGLINE 425 -->
+
+<!-- BUGCOLUMN 88 -->
+
+<!-- BUGPATHLENGTH 22 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>applets/wncklet/window-list.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 425, column 88</a><br />The left operand of '-' is a garbage value</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name window-list.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/applets/wncklet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../.. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I /usr/include/mate-desktop-2.0 -I /usr/include/libwnck-3.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/startup-notification-1.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../.. -I ../../applets/wncklet -I ../../libmate-panel-applet -I ../../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/applets/wncklet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c window-list.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"253": 1, "254": 1, "255": 1, "256": 1, "257": 1, "258": 1, "259": 1, "260": 1, "261": 1, "262": 1, "263": 1, "264": 1, "265": 1, "267": 1, "269": 1, "274": 1, "275": 1, "276": 1, "279": 1, "281": 1, "282": 1, "283": 1, "284": 1, "294": 1, "296": 1, "297": 1, "298": 1, "299": 1, "300": 1, "301": 1, "302": 1, "303": 1, "304": 1, "306": 1, "312": 1, "314": 1, "339": 1, "340": 1, "341": 1, "342": 1, "343": 1, "344": 1, "345": 1, "351": 1, "352": 1, "353": 1, "354": 1, "355": 1, "358": 1, "361": 1, "362": 1, "365": 1, "368": 1, "371": 1, "376": 1, "377": 1, "378": 1, "392": 1, "393": 1, "394": 1, "395": 1, "396": 1, "422": 1, "425": 1, "451": 1, "452": 1, "453": 1, "454": 1, "455": 1, "456": 1, "457": 1, "458": 1, "460": 1, "466": 1, "469": 1, "471": 1, "473": 1, "474": 1, "475": 1, "478": 1, "482": 1, "483": 1, "486": 1, "488": 1, "492": 1, "494": 1, "495": 1, "496": 1, "497": 1}, "691": {"38": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+ <path class="arrow" id="arrow0"/>
+ <path class="arrow" id="arrow1"/>
+ <path class="arrow" id="arrow2"/>
+ <path class="arrow" id="arrow3"/>
+ <path class="arrow" id="arrow4"/>
+ <path class="arrow" id="arrow5"/>
+ <path class="arrow" id="arrow6"/>
+ <path class="arrow" id="arrow7"/>
+ <path class="arrow" id="arrow8"/>
+ <path class="arrow" id="arrow9"/>
+ <path class="arrow" id="arrow10"/>
+ <path class="arrow" id="arrow11"/>
+ <path class="arrow" id="arrow12"/>
+ <path class="arrow" id="arrow13"/>
+ <path class="arrow" id="arrow14"/>
+ <path class="arrow" id="arrow15"/>
+ <path class="arrow" id="arrow16"/>
+ <path class="arrow" id="arrow17"/>
+ <path class="arrow" id="arrow18"/>
+ <path class="arrow" id="arrow19"/>
+ <path class="arrow" id="arrow20"/>
+ <path class="arrow" id="arrow21"/>
+ <path class="arrow" id="arrow22"/>
+ <path class="arrow" id="arrow23"/>
+ <path class="arrow" id="arrow24"/>
+ <path class="arrow" id="arrow25"/>
+ <path class="arrow" id="arrow26"/>
+ <path class="arrow" id="arrow27"/>
+ <path class="arrow" id="arrow28"/>
+ <path class="arrow" id="arrow29"/>
+ <path class="arrow" id="arrow30"/>
+ <path class="arrow" id="arrow31"/>
+ <path class="arrow" id="arrow32"/>
+ <path class="arrow" id="arrow33"/>
+ <path class="arrow" id="arrow34"/>
+ <path class="arrow" id="arrow35"/>
+ <path class="arrow" id="arrow36"/>
+ <path class="arrow" id="arrow37"/>
+ <path class="arrow" id="arrow38"/>
+ <path class="arrow" id="arrow39"/>
+ <path class="arrow" id="arrow40"/>
+ <path class="arrow" id="arrow41"/>
+ <path class="arrow" id="arrow42"/>
+ <path class="arrow" id="arrow43"/>
+ <path class="arrow" id="arrow44"/>
+ <path class="arrow" id="arrow45"/>
+ <path class="arrow" id="arrow46"/>
+ <path class="arrow" id="arrow47"/>
+ <path class="arrow" id="arrow48"/>
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 49,47,45,44,42,39,37,32,29,27,26,24,21,19,17,12,8,6,1,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* -*- mode: C; c-file-style: "linux" -*- */</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* libwnck based tasklist applet.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* (C) 2001 Red Hat, Inc</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* (C) 2001 Alexander Larsson</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Authors: Alexander Larsson</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet-gsettings.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#define WNCK_I_KNOW_THIS_IS_UNSTABLE</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include &lt;libwnck/libwnck.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include &lt;gdk/gdkwayland.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "wayland-backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#define MATE_DESKTOP_USE_UNSTABLE_API</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-utils.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include "wncklet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include "window-list.h"</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#define <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span> "mate-panel-window-list"</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#define <span class='macro'>WINDOW_LIST_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list"</span></span> "org.mate.panel.applet.window-list"</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#define <span class='macro'>WINDOW_LIST_PREVIEW_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list-previews"</span></span> "org.mate.panel.applet.window-list-previews"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> TASKLIST_NEVER_GROUP,</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> TASKLIST_AUTO_GROUP,</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> TASKLIST_ALWAYS_GROUP</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line">} TasklistGroupingType;</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> GtkWidget* applet;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> GtkWidget* tasklist;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget* preview;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> gboolean show_window_thumbnails;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gint thumbnail_size;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> gboolean include_all_workspaces;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> TasklistGroupingType grouping;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> gboolean move_unminimized_windows;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> gboolean scroll_enable;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> gboolean middle_click_close;</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#if !defined(<span class='macro'>WNCKLET_INPROCESS<span class='macro_popup'>1</span></span>) &amp;&amp; !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> gboolean needs_hints;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> GtkIconTheme* icon_theme;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='comment'>/* Properties: */</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> GtkWidget* properties_dialog;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> GtkWidget* wayland_info_label;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> GtkWidget* show_current_radio;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> GtkWidget* show_all_radio;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> GtkWidget* window_thumbnail_box;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> GtkWidget* show_thumbnails_check;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> GtkWidget* thumbnail_size_label;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> GtkWidget* thumbnail_size_spin;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> GtkWidget* never_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> GtkWidget* auto_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> GtkWidget* always_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> GtkWidget* move_minimized_radio;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> GtkWidget* mouse_scroll_check;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> GtkWidget* middle_click_close_check;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> GtkWidget* change_workspace_radio;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> GtkWidget* minimized_windows_box;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> GtkWidget* window_grouping_box;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> GtkWidget* window_list_content_box;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GSettings* preview_settings;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line">} TasklistData;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> call_system_monitor(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_properties_dialog(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_help_dialog(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_about_dialog(GtkAction* action, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> destroy_tasklist(GtkWidget* widget, TasklistData* tasklist);</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_update(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;orientation == GTK_ORIENTATION_HORIZONTAL)</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> gtk_widget_set_size_request(<span class='macro'>GTK_WIDGET(tasklist-&gt;tasklist)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((gtk_widget_get_type ()))))))</span></span>, -1, tasklist-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> gtk_widget_set_size_request(<span class='macro'>GTK_WIDGET(tasklist-&gt;tasklist)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((gtk_widget_get_type ()))))))</span></span>, tasklist-&gt;size, -1);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> WnckTasklistGroupingType grouping;</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>switch</span> (tasklist-&gt;grouping)</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>case</span> TASKLIST_NEVER_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> grouping = WNCK_TASKLIST_NEVER_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='keyword'>case</span> TASKLIST_AUTO_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> grouping = WNCK_TASKLIST_AUTO_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='keyword'>case</span> TASKLIST_ALWAYS_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> grouping = WNCK_TASKLIST_ALWAYS_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> grouping = WNCK_TASKLIST_NEVER_GROUP;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> wnck_tasklist_set_grouping(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, grouping);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> wnck_tasklist_set_include_all_workspaces(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;include_all_workspaces);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> wnck_tasklist_set_switch_workspace_on_unminimize(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;move_unminimized_windows);</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> wnck_tasklist_set_scroll_enabled (<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;scroll_enable);</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> wnck_tasklist_set_middle_click_close (<span class='macro'>WNCK_TASKLIST (tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;middle_click_close);</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='comment'>/* Not implemented for Wayland */</span></td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_apply_orientation(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> wnck_tasklist_set_orientation(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, tasklist-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> wayland_tasklist_set_orientation(tasklist-&gt;tasklist, tasklist-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_set_button_relief(TasklistData* tasklist, GtkReliefStyle relief)</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> wnck_tasklist_set_button_relief(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, relief);</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* Not implemented for Wayland */</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>int</span>* tasklist_get_size_hint_list(TasklistData* tasklist, <span class='keyword'>int</span>* n_elements)</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>WNCK_IS_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(tasklist-&gt;tasklist)); GType __t = ((wnck_tasklist_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>return</span> wnck_tasklist_get_size_hint_list(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='comment'>/* Not implemented for Wayland */</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> *n_elements = 0;</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> response_cb(GtkWidget* widget, <span class='keyword'>int</span> id, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='keyword'>if</span> (id == GTK_RESPONSE_HELP)</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> wncklet_display_help(widget, <span class='string_literal'>"mate-user-guide"</span>, <span class='string_literal'>"windowlist-prefs"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> gtk_widget_hide(widget);</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_realized(MatePanelApplet* applet, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> tasklist-&gt;icon_theme = gtk_icon_theme_get_for_screen(gtk_widget_get_screen(tasklist-&gt;applet));</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_change_orient(MatePanelApplet* applet, MatePanelAppletOrient orient, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> GtkOrientation new_orient;</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>switch</span> (orient)</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> new_orient = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> new_orient = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='keyword'>if</span> (new_orient == tasklist-&gt;orientation)</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> tasklist-&gt;orientation = new_orient;</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> tasklist_apply_orientation (tasklist);</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_change_background(MatePanelApplet* applet, MatePanelAppletBackgroundType type, GdkColor* color, cairo_pattern_t* pattern, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>switch</span> (type)</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> tasklist_set_button_relief(tasklist, GTK_RELIEF_NONE);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"><span class='keyword'>static</span> cairo_surface_t*</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line">preview_window_thumbnail (WnckWindow *wnck_window,</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> TasklistData *tasklist,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> *thumbnail_width,</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>int</span> *thumbnail_height,</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='keyword'>int</span> *thumbnail_scale)</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> Window win;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> cairo_surface_t *thumbnail;</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> <span class='keyword'>double</span> ratio;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='keyword'>int</span> width, height, scale;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> win = wnck_window_get_xid (wnck_window);</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='keyword'>if</span> ((window = gdk_x11_window_foreign_new_for_display (gdk_display_get_default (), win)) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> *thumbnail_scale = scale = gdk_window_get_scale_factor (window);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> width = gdk_window_get_width (window) * scale;</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> height = gdk_window_get_height (window) * scale;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='comment'>/* Scale to configured size while maintaining aspect ratio */</span></td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> <span class='keyword'>if</span> (width &gt; height)</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>int</span> max_size = <span class='macro'>MIN (width, tasklist-&gt;thumbnail_size * scale)<span class='macro_popup'>(((width) &lt; (tasklist-&gt;thumbnail_size * scale)) ? (width<br>) : (tasklist-&gt;thumbnail_size * scale))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> ratio = (<span class='keyword'>double</span>) max_size / (<span class='keyword'>double</span>) width;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> *thumbnail_width = max_size;</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> *thumbnail_height = (<span class='keyword'>int</span>) ((<span class='keyword'>double</span>) height * ratio);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>int</span> max_size = <span class='macro'>MIN (height, tasklist-&gt;thumbnail_size * scale)<span class='macro_popup'>(((height) &lt; (tasklist-&gt;thumbnail_size * scale)) ? (height<br>) : (tasklist-&gt;thumbnail_size * scale))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> ratio = (<span class='keyword'>double</span>) max_size / (<span class='keyword'>double</span>) height;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> *thumbnail_height = max_size;</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> *thumbnail_width = (<span class='keyword'>int</span>) ((<span class='keyword'>double</span>) width * ratio);</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> gdk_x11_display_error_trap_push (gdk_window_get_display (window));</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> thumbnail = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> *thumbnail_width,</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> *thumbnail_height);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> cairo_surface_set_device_scale (thumbnail, scale, scale);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> cr = cairo_create (thumbnail);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> cairo_scale (cr, ratio, ratio);</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> gdk_cairo_set_source_window (cr, window, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> cairo_paint (cr);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>if</span> (gdk_x11_display_error_trap_pop (gdk_window_get_display (window)))</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> cairo_surface_destroy (thumbnail);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> thumbnail = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> g_object_unref (window);</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>return</span> thumbnail;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> g_int_compare(gconstpointer a, gconstpointer b)</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gint a_val = <span class='macro'>GPOINTER_TO_INT(a)<span class='macro_popup'>((gint) (glong) (a))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> gint b_val = <span class='macro'>GPOINTER_TO_INT(b)<span class='macro_popup'>((gint) (glong) (b))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> <span class='keyword'>if</span> (a_val &gt; b_val) <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='keyword'>if</span> (a_val == b_val) <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> find_offset(GList *list, gdouble target)</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> GList *node = list;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='keyword'>while</span> (node != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> <span class='keyword'>int</span> value = <span class='macro'>GPOINTER_TO_INT(node-&gt;data)<span class='macro_popup'>((gint) (glong) (node-&gt;data))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> <span class='keyword'>if</span> (value &lt;= target)</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>return</span> value;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> node = node-&gt;next;</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"><span class='directive'>#define <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"><span id="start16"><span class='keyword'>static</span></span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line">preview_window_reposition (WnckTasklist *tl,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> TasklistData *tasklist,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>int</span> width,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='keyword'>int</span> height,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>int</span> scale)</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='comment'>/* Known issues:</span></td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='comment'>* - When grouping is toggled the previews won't be centered correctly until a new window is opened or one is closed.</span></td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> <span class='comment'>* - Previews are not shown at all for grouped windows, this function is not called when hovering over those.</span></td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span id="start15"><span id="end16">GdkMonitor</span></span> *monitor;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> gdouble x_pos, y_pos;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>int</span> x_offset, y_offset;</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='comment'>/* Get mouse position */</span></td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> gdk_device_get_position_double (gdk_seat_get_pointer (gdk_display_get_default_seat (gdk_display_get_default ())), <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;x_pos, &amp;y_pos);</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='comment'>/* Get geometry of monitor where tasklist is located to calculate correct position of preview */</span></td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> monitor = gdk_display_get_monitor_at_point (gdk_display_get_default (), x_pos, y_pos);</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> gdk_monitor_get_geometry (monitor, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='comment'>/* Get the position where the window list applet starts */</span></td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (gtk_widget_get_parent (<span class='macro'>GTK_WIDGET(tl)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tl)), ((gtk_widget_get_type ()))))))</span></span>)), &amp;x_offset, &amp;y_offset);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='comment'>/* Get panel orientation */</span></td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> orient = mate_panel_applet_get_orient (MATE_PANEL_APPLET (tasklist-&gt;applet));</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='comment'>/* Add padding to clear the panel */</span></td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span id="start14"><span id="end15"><span class='keyword'>switch</span></span></span> (<span id="start13"><span id="end14">orient</span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path15" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">15</div></td><td><div class="PathNav"><a href="#Path14" title="Previous event (14)">&#x2190;</a></div></td><td>Control jumps to 'case MATE_PANEL_APPLET_ORIENT_RIGHT:' at line 376</td><td><div class="PathNav"><a href="#Path16" title="Next event (16)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> x_pos = monitor_geom.width + monitor_geom.x - width - tasklist-&gt;size - <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> <span id="start10"><span id="end11"><span id="start12"><span id="end13">x_pos</span></span></span></span> = <span id="start11"><span id="end12">tasklist</span></span>-&gt;size + <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> <span id="start8"><span id="start9"><span id="end10"><span class='keyword'>break</span></span></span></span>;</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> y_pos = monitor_geom.height + monitor_geom.y - height - tasklist-&gt;size - <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> y_pos = tasklist-&gt;size + <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> <span class='comment'>/* Collect the allocation.x/y values of each button into lists.</span></td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='comment'>* We need to iterate over all of them because grouped buttons will be the last children,</span></td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='comment'>* even though they are positioned at the beginning. And not all buttons will have the exact same width.</span></td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> <span class='comment'>* This allows us to avoid off-by-one errors that would cause the preview to be positioned over the adjacent button. */</span></td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> <span id="start7"><span id="end8"><span id="end9">GList</span></span></span> *alloc_x_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path16" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">16</div></td><td><div class="PathNav"><a href="#Path15" title="Previous event (15)">&#x2190;</a></div></td><td> Execution continues on line 392</td><td><div class="PathNav"><a href="#Path17" title="Next event (17)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> GList *alloc_y_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> GtkAllocation last_alloc;</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> GList* children = gtk_container_get_children (<span class='macro'>GTK_CONTAINER(tl)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tl)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span id="start6"><span id="end7"><span class='keyword'>while</span></span></span> (<span id="start5"><span class="mrange"><span id="end6">children</span></span> != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path17" class="msg msgEvent" style="margin-left:16ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">17</div></td><td><div class="PathNav"><a href="#Path16" title="Previous event (16)">&#x2190;</a></div></td><td>Assuming 'children' is equal to NULL</td><td><div class="PathNav"><a href="#Path18" title="Next event (18)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (gtk_widget_get_name (children-&gt;data), <span class='string_literal'>"tasklist-button"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> GtkAllocation alloc;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> gtk_widget_get_allocation (children-&gt;data, &amp;alloc);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='comment'>/* Skip grouped buttons: these usually have alloc width/heigh=1, except right after grouping is toggled.</span></td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='comment'>* Then simply open or close a new window to get the correct offset. */</span></td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (alloc.width &lt; 2 || alloc.height &lt; 2)</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> children = children-&gt;next;</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> <span class='comment'>/* Keep x and y offsets in sorted lists */</span></td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> alloc_x_list = g_list_insert_sorted (alloc_x_list, <span class='macro'>GINT_TO_POINTER(alloc.x)<span class='macro_popup'>((gpointer) (glong) (alloc.x))</span></span>, g_int_compare);</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> alloc_y_list = g_list_insert_sorted (alloc_y_list, <span class='macro'>GINT_TO_POINTER(alloc.y)<span class='macro_popup'>((gpointer) (glong) (alloc.y))</span></span>, g_int_compare);</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='comment'>/* The width/height from the last allocation will be used for centering the preview.</span></td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='comment'>* It might be off by a pixel because not all buttons have the exact same width/height but this isn't critical. */</span></td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> last_alloc = alloc;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> children = children-&gt;next;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='comment'>/* Center preview at the midpoint of the tasklist button */</span></td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span id="start4"><span id="end5"><span class='keyword'>if</span></span></span> (<span id="start3"><span id="end4"><span class='variable'>orient<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>17.1</div></td><td>'orient' is not equal to MATE_PANEL_APPLET_ORIENT_LEFT</td></tr></tbody></table></span></span></span> == MATE_PANEL_APPLET_ORIENT_LEFT || <span id="start2"><span id="end3"><span class='variable'>orient<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>17.2</div></td><td>'orient' is equal to MATE_PANEL_APPLET_ORIENT_RIGHT</td></tr></tbody></table></span></span></span> == MATE_PANEL_APPLET_ORIENT_RIGHT)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path18" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">18</div></td><td><div class="PathNav"><a href="#Path17" title="Previous event (17)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#EndPath" title="Next event (19)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='comment'>/* Vertical panel */</span></td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span id="start1"><span id="end2">y_pos</span></span> = <span id="start0"><span id="end1">y_offset</span></span> + find_offset (alloc_y_list, y_pos - y_offset) + (<span class="mrange">last_alloc.height</span> <span id="end0">-</span> height) / 2;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:102ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">19</div></td><td><div class="PathNav"><a href="#Path18" title="Previous event (18)">&#x2190;</a></div></td><td>The left operand of '-' is a garbage value</td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> y_pos = y_pos &lt; <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> ? <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> : y_pos;</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (orient == MATE_PANEL_APPLET_ORIENT_UP || orient == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> <span class='comment'>/* Horizontal panel */</span></td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> x_pos = x_offset + find_offset (alloc_x_list, x_pos - x_offset) + (last_alloc.width - width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> x_pos = x_pos &lt; <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> ? <span class='macro'>PREVIEW_PADDING<span class='macro_popup'>5</span></span> : x_pos;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> g_list_free (alloc_x_list);</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> g_list_free (alloc_y_list);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> gtk_window_move (<span class='macro'>GTK_WINDOW (tasklist-&gt;preview)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;preview)), ((gtk_window_get_type ()))))))</span></span>, x_pos, y_pos);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"><span class='keyword'>static</span> gboolean preview_window_draw (GtkWidget *widget, cairo_t *cr, cairo_surface_t *thumbnail)</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> gtk_render_icon_surface (context, cr, thumbnail, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"><span class='keyword'>static</span> gboolean applet_enter_notify_event (WnckTasklist *tl, GList *wnck_windows, TasklistData *tasklist)</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span id="start48">cairo_surface_t</span> *thumbnail;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> WnckWindow *wnck_window = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> <span class='keyword'>int</span> n_windows;</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>int</span> thumbnail_width;</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>int</span> thumbnail_height;</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>int</span> thumbnail_scale;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span id="start47"><span id="end48"><span class='keyword'>if</span></span></span> (<span id="start46"><span class="mrange"><span id="end47">tasklist</span></span>-&gt;preview != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path1" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">1</div></td><td>Assuming field 'preview' is equal to NULL</td><td><div class="PathNav"><a href="#Path2" title="Next event (2)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> gtk_widget_destroy (tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tasklist-&gt;preview = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span id="start45"><span id="end46"><span class='keyword'>if</span></span></span> (<span id="start44"><span class="mrange"><span id="end45">!</span></span>tasklist-&gt;show_window_thumbnails</span> || <span id="start43"><span class="mrange"><span id="end44">wnck_windows</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path2" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">2</div></td><td><div class="PathNav"><a href="#Path1" title="Previous event (1)">&#x2190;</a></div></td><td>Assuming field 'show_window_thumbnails' is not equal to 0</td><td><div class="PathNav"><a href="#Path3" title="Next event (3)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path3" class="msg msgEvent" style="margin-left:50ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">3</div></td><td><div class="PathNav"><a href="#Path2" title="Previous event (2)">&#x2190;</a></div></td><td>Assuming 'wnck_windows' is not equal to NULL</td><td><div class="PathNav"><a href="#Path4" title="Next event (4)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path4" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">4</div></td><td><div class="PathNav"><a href="#Path3" title="Previous event (3)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path5" title="Next event (5)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> <span id="start40"><span id="end41"><span id="start42"><span id="end43">n_windows</span></span></span></span> = g_list_length (<span id="start41"><span id="end42">wnck_windows</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> <span class='comment'>/* TODO: Display a list of stacked thumbnails for grouped windows. */</span></td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span id="start39"><span id="end40"><span class='keyword'>if</span></span></span> (<span id="start38"><span class="mrange"><span id="end39">n_windows</span></span> == 1</span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path5" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">5</div></td><td><div class="PathNav"><a href="#Path4" title="Previous event (4)">&#x2190;</a></div></td><td>Assuming 'n_windows' is equal to 1</td><td><div class="PathNav"><a href="#Path6" title="Next event (6)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path6" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">6</div></td><td><div class="PathNav"><a href="#Path5" title="Previous event (5)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path7" title="Next event (7)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> <span id="start35"><span id="end36"><span id="start37"><span id="end38">GList</span></span></span></span>* l = <span id="start36"><span id="end37">wnck_windows</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span id="start34"><span id="end35"><span class='keyword'>if</span></span></span> (<span id="start33"><span id="end34"><span class='variable'>l<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>6.1</div></td><td>'l' is not equal to NULL</td></tr></tbody></table></span></span></span> != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path7" class="msg msgControl" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">7</div></td><td><div class="PathNav"><a href="#Path6" title="Previous event (6)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path8" title="Next event (8)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span id="start30"><span id="end31"><span id="start32"><span id="end33">wnck_window</span></span></span></span> = (WnckWindow*)<span id="start31"><span id="end32">l</span></span>-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span id="start29"><span id="end30"><span class='keyword'>if</span></span></span> (<span id="start28"><span class="mrange"><span id="end29">wnck_window</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path8" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">8</div></td><td><div class="PathNav"><a href="#Path7" title="Previous event (7)">&#x2190;</a></div></td><td>Assuming 'wnck_window' is not equal to NULL</td><td><div class="PathNav"><a href="#Path9" title="Next event (9)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path9" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">9</div></td><td><div class="PathNav"><a href="#Path8" title="Previous event (8)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path10" title="Next event (10)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> <span class='comment'>/* Do not show preview if window is not visible nor in current workspace */</span></td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span id="start27"><span id="end28"><span class='keyword'>if</span></span></span> (<span id="start25"><span class="mrange"><span id="end26">!</span></span>wnck_window_is_visible_on_workspace (<span id="start26"><span id="end27">wnck_window</span></span>,</td></tr></span>
+<tr><td class="num"></td><td class="line"><div id="Path10" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">10</div></td><td><div class="PathNav"><a href="#Path9" title="Previous event (9)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path11" title="Next event (11)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path11" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">11</div></td><td><div class="PathNav"><a href="#Path10" title="Previous event (10)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path12" title="Next event (12)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class="mrange">wnck_screen_get_active_workspace (wnck_screen_get_default ()))</span>)</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span id="start22"><span id="end23"><span id="start24"><span id="end25">thumbnail</span></span></span></span> = preview_window_thumbnail (<span id="start23"><span id="end24">wnck_window</span></span>, tasklist, &amp;thumbnail_width, &amp;thumbnail_height, &amp;thumbnail_scale);</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> <span id="start21"><span id="end22"><span class='keyword'>if</span></span></span> (<span id="start20"><span class="mrange"><span id="end21">thumbnail</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path12" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">12</div></td><td><div class="PathNav"><a href="#Path11" title="Previous event (11)">&#x2190;</a></div></td><td>Assuming 'thumbnail' is not equal to NULL</td><td><div class="PathNav"><a href="#Path13" title="Next event (13)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path13" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">13</div></td><td><div class="PathNav"><a href="#Path12" title="Previous event (12)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path14" title="Next event (14)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>/* Create window to display preview */</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span id="start17"><span id="end18"><span id="start19"><span id="end20">tasklist</span></span></span></span>-&gt;preview = gtk_window_new (<span id="start18"><span id="end19">GTK_WINDOW_POPUP</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> gtk_widget_set_app_paintable (tasklist-&gt;preview, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> gtk_window_set_default_size (<span class='macro'>GTK_WINDOW (tasklist-&gt;preview)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;preview)), ((gtk_window_get_type ()))))))</span></span>, thumbnail_width/thumbnail_scale, thumbnail_height/thumbnail_scale);</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> gtk_window_set_resizable (<span class='macro'>GTK_WINDOW (tasklist-&gt;preview)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;preview)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> <span class="mrange"><span id="end17">preview_window_reposition</span> (tl, tasklist, thumbnail_width/thumbnail_scale, thumbnail_height/thumbnail_scale, thumbnail_scale)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path14" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">14</div></td><td><div class="PathNav"><a href="#Path13" title="Previous event (13)">&#x2190;</a></div></td><td>Calling 'preview_window_reposition'</td><td><div class="PathNav"><a href="#Path15" title="Next event (15)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> gtk_widget_show (tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> g_signal_connect_data (tasklist-&gt;preview, <span class='string_literal'>"draw"</span>,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='macro'>G_CALLBACK (preview_window_draw)<span class='macro_popup'>((GCallback) (preview_window_draw))</span></span>, thumbnail,</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> (GClosureNotify) <span class='macro'>G_CALLBACK (cairo_surface_destroy)<span class='macro_popup'>((GCallback) (cairo_surface_destroy))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> gboolean applet_leave_notify_event (WnckTasklist *tl, GList *wnck_windows, TasklistData *tasklist)</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;preview != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> gtk_widget_destroy (tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> tasklist-&gt;preview = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_change_pixel_size(MatePanelApplet* applet, gint size, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> tasklist-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='comment'>/* TODO: this is sad, should be used a function to retrieve applications from</span></td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> <span class='comment'>* .desktop or some like that. */</span></td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* system_monitors[] = {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='string_literal'>"mate-system-monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='string_literal'>"gnome-system-monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry tasklist_menu_actions[] = {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='string_literal'>"TasklistSystemMonitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='string_literal'>"utilities-system-monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_System Monitor"</span>)<span class='macro_popup'>("_System Monitor")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='macro'>G_CALLBACK(call_system_monitor)<span class='macro_popup'>((GCallback) (call_system_monitor))</span></span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='string_literal'>"TasklistPreferences"</span>,</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='string_literal'>"document-properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_Preferences"</span>)<span class='macro_popup'>("_Preferences")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='macro'>G_CALLBACK(display_properties_dialog)<span class='macro_popup'>((GCallback) (display_properties_dialog))</span></span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> <span class='string_literal'>"TasklistHelp"</span>,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> <span class='string_literal'>"help-browser"</span>,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_Help"</span>)<span class='macro_popup'>("_Help")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='macro'>G_CALLBACK(display_help_dialog)<span class='macro_popup'>((GCallback) (display_help_dialog))</span></span></td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> <span class='string_literal'>"TasklistAbout"</span>,</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='string_literal'>"help-about"</span>,</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"_About"</span>)<span class='macro_popup'>("_About")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> <span class='macro'>G_CALLBACK(display_about_dialog)<span class='macro_popup'>((GCallback) (display_about_dialog))</span></span></td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_properties_update_content_radio(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;show_current_radio == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;include_all_workspaces)</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> button = tasklist-&gt;show_all_radio;</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> button = tasklist-&gt;show_current_radio;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>if</span> (!gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;minimized_windows_box, tasklist-&gt;include_all_workspaces);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_all_workspaces_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gboolean value;</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> value = g_settings_get_boolean(settings, key);</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> tasklist-&gt;include_all_workspaces = (value != 0);</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> tasklist_properties_update_content_radio(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_update_thumbnail_size_spin(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> <span class='keyword'>if</span> (!tasklist-&gt;thumbnail_size)</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> button = tasklist-&gt;thumbnail_size_spin;</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> gtk_spin_button_set_value(<span class='macro'>GTK_SPIN_BUTTON(button)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_spin_button_get_type ()))))))</span></span>, (gdouble)tasklist-&gt;thumbnail_size);</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> show_thumbnails_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> tasklist-&gt;show_window_thumbnails = g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> thumbnail_size_changed(GSettings *settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> tasklist-&gt;thumbnail_size = g_settings_get_int(settings, key);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> tasklist_update_thumbnail_size_spin(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"><span class='keyword'>static</span> GtkWidget* get_grouping_button(TasklistData* tasklist, TasklistGroupingType type)</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>switch</span> (type)</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>case</span> TASKLIST_NEVER_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='keyword'>return</span> tasklist-&gt;never_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>case</span> TASKLIST_AUTO_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span> tasklist-&gt;auto_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> <span class='keyword'>case</span> TASKLIST_ALWAYS_GROUP:</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>return</span> tasklist-&gt;always_group_radio;</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> group_windows_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> TasklistGroupingType type;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> type = g_settings_get_enum (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> tasklist-&gt;grouping = type;</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> button = get_grouping_button(tasklist, type);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>if</span> (button &amp;&amp; !gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> tasklist_update_unminimization_radio(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;move_minimized_radio == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;move_unminimized_windows)</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> button = tasklist-&gt;move_minimized_radio;</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> button = tasklist-&gt;change_workspace_radio;</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>if</span> (!gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> move_unminimized_windows_changed(GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> gboolean value;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> value = g_settings_get_boolean(settings, key);</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> tasklist-&gt;move_unminimized_windows = (value != 0);</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> tasklist_update_unminimization_radio(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> scroll_enabled_changed (GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> tasklist-&gt;scroll_enable = g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> middle_click_close_changed (GSettings* settings, gchar* key, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> tasklist-&gt;middle_click_close = g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_gsettings(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> tasklist-&gt;settings = mate_panel_applet_settings_new (MATE_PANEL_APPLET (tasklist-&gt;applet), <span class='macro'>WINDOW_LIST_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::display-all-workspaces"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='macro'>G_CALLBACK (display_all_workspaces_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::display-all-workspaces"<br>), (((GCallback) (display_all_workspaces_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> tasklist-&gt;preview_settings = mate_panel_applet_settings_new (MATE_PANEL_APPLET (tasklist-&gt;applet), <span class='macro'>WINDOW_LIST_PREVIEW_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.window-list-previews"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;preview_settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::show-window-thumbnails"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> <span class='macro'>G_CALLBACK (show_thumbnails_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::show-window-thumbnails"<br>), (((GCallback) (show_thumbnails_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;preview_settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::thumbnail-window-size"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> <span class='macro'>G_CALLBACK (thumbnail_size_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;preview_settings), ("changed::thumbnail-window-size"<br>), (((GCallback) (thumbnail_size_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::group-windows"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> <span class='macro'>G_CALLBACK (group_windows_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::group-windows"<br>), (((GCallback) (group_windows_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::move-unminimized-windows"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> <span class='macro'>G_CALLBACK (move_unminimized_windows_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::move-unminimized-windows"<br>), (((GCallback) (move_unminimized_windows_changed))), (tasklist<br>), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::scroll-enabled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> <span class='macro'>G_CALLBACK (scroll_enabled_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::scroll-enabled"<br>), (((GCallback) (scroll_enabled_changed))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::middle-click-close"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> <span class='macro'>G_CALLBACK (middle_click_close_changed),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;settings), ("changed::middle-click-close"<br>), (((GCallback) (middle_click_close_changed))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> applet_size_allocate(GtkWidget *widget, GtkAllocation *allocation, TasklistData *tasklist)</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> <span class='keyword'>int</span> len;</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span>* size_hints;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> size_hints = tasklist_get_size_hint_list (tasklist, &amp;len);</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> <span class='macro'>g_assert(len % 2 == 0)<span class='macro_popup'>do { if (len % 2 == 0) ; else g_assertion_message_expr (((gchar<br>*) 0), "window-list.c", 759, ((const char*) (__func__)), "len % 2 == 0"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"><span class='directive'>#if !defined(<span class='macro'>WNCKLET_INPROCESS<span class='macro_popup'>1</span></span>) &amp;&amp; !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> <span class='comment'>/* HACK: When loading the WnckTasklist initially, it reports size hints as though there were</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='comment'>* no elements in the Tasklist. This causes a rendering issue when built out-of-process in</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='comment'>* HiDPI displays. We keep a flag to skip size hinting until WnckTasklist has something to</span></td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> <span class='comment'>* show. */</span></td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> <span class='keyword'>if</span> (!tasklist-&gt;needs_hints)</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; len; i++)</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> <span class='keyword'>if</span> (size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> tasklist-&gt;needs_hints = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;needs_hints)</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> mate_panel_applet_set_size_hints(MATE_PANEL_APPLET(tasklist-&gt;applet), size_hints, len, 0);</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"><span class='comment'>/* Currently only used on X11, but should work on Wayland as well when needed */</span></td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"><span class='keyword'>static</span> GdkPixbuf* icon_loader_func(<span class='keyword'>const</span> <span class='keyword'>char</span>* icon, <span class='keyword'>int</span> size, <span class='keyword'>unsigned</span> <span class='keyword'>int</span> flags, <span class='keyword'>void</span>* data)</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> TasklistData* tasklist;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> GdkPixbuf* retval;</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='keyword'>char</span>* icon_no_extension;</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>char</span>* p;</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> tasklist = data;</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='keyword'>if</span> (icon == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strcmp(icon, <span class='string_literal'>""</span>) == 0)</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='keyword'>if</span> (g_path_is_absolute(icon))</td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='keyword'>if</span> (g_file_test(icon, G_FILE_TEST_EXISTS))</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='keyword'>return</span> gdk_pixbuf_new_from_file_at_size(icon, size, size, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='keyword'>char</span>* basename;</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> basename = g_path_get_basename(icon);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> retval = icon_loader_func(basename, size, flags, data);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> g_free(basename);</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> <span class='comment'>/* This is needed because some .desktop files have an icon name *and*</span></td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> <span class='comment'>* an extension as icon */</span></td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> icon_no_extension = <span class='macro'>g_strdup(icon)<span class='macro_popup'>g_strdup_inline (icon)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> p = strrchr(icon_no_extension, '.');</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> <span class='keyword'>if</span> (p &amp;&amp; (strcmp(p, <span class='string_literal'>".png"</span>) == 0 || strcmp(p, <span class='string_literal'>".xpm"</span>) == 0 || strcmp(p, <span class='string_literal'>".svg"</span>) == 0))</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> *p = 0;</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> retval = gtk_icon_theme_load_icon(tasklist-&gt;icon_theme, icon_no_extension, size, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> g_free(icon_no_extension);</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">gboolean window_list_applet_fill(MatePanelApplet* applet)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> TasklistData* tasklist;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> GtkActionGroup* action_group;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> tasklist = <span class='macro'>g_new0(TasklistData, 1)<span class='macro_popup'>((TasklistData *) g_malloc0_n ((1), sizeof (TasklistData)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> tasklist-&gt;applet = <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> screen = gdk_screen_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='string_literal'>".mate-panel-menu-bar button,\n"</span></td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> <span class='string_literal'>" #tasklist-button {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='string_literal'>" padding: 0px;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> <span class='string_literal'>" margin: 0px;\n }"</span>,</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> gtk_style_context_add_provider_for_screen (screen,</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> mate_panel_applet_set_flags(MATE_PANEL_APPLET(tasklist-&gt;applet), MATE_PANEL_APPLET_EXPAND_MAJOR | MATE_PANEL_APPLET_EXPAND_MINOR | MATE_PANEL_APPLET_HAS_HANDLE);</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> setup_gsettings(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> tasklist-&gt;include_all_workspaces = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"display-all-workspaces"</span>);</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> tasklist-&gt;show_window_thumbnails = g_settings_get_boolean (tasklist-&gt;preview_settings, <span class='string_literal'>"show-window-thumbnails"</span>);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> tasklist-&gt;thumbnail_size = g_settings_get_int (tasklist-&gt;preview_settings, <span class='string_literal'>"thumbnail-window-size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> tasklist-&gt;grouping = g_settings_get_enum (tasklist-&gt;settings, <span class='string_literal'>"group-windows"</span>);</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> tasklist-&gt;move_unminimized_windows = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"move-unminimized-windows"</span>);</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> tasklist-&gt;scroll_enable = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"scroll-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> tasklist-&gt;middle_click_close = g_settings_get_boolean (tasklist-&gt;settings, <span class='string_literal'>"middle-click-close"</span>);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> tasklist-&gt;size = mate_panel_applet_get_size(applet);</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"><span class='directive'>#if !defined(<span class='macro'>WNCKLET_INPROCESS<span class='macro_popup'>1</span></span>) &amp;&amp; !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> tasklist-&gt;needs_hints = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> <span class='keyword'>switch</span> (mate_panel_applet_get_orient(applet))</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> tasklist-&gt;orientation = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> tasklist-&gt;orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> tasklist-&gt;tasklist = wnck_tasklist_new();</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> wnck_tasklist_set_icon_loader(<span class='macro'>WNCK_TASKLIST(tasklist-&gt;tasklist)<span class='macro_popup'>((((WnckTasklist*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;tasklist)), ((wnck_tasklist_get_type ()))))<br>))</span></span>, icon_loader_func, tasklist, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;tasklist, <span class='string_literal'>"task-enter-notify"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-enter-notify"<br>), (((GCallback) (applet_enter_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> <span class='macro'>G_CALLBACK (applet_enter_notify_event),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-enter-notify"<br>), (((GCallback) (applet_enter_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-enter-notify"<br>), (((GCallback) (applet_enter_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;tasklist, <span class='string_literal'>"task-leave-notify"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-leave-notify"<br>), (((GCallback) (applet_leave_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> <span class='macro'>G_CALLBACK (applet_leave_notify_event),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-leave-notify"<br>), (((GCallback) (applet_leave_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("task-leave-notify"<br>), (((GCallback) (applet_leave_notify_event))), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> tasklist-&gt;tasklist = wayland_tasklist_new();</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> tasklist-&gt;tasklist = gtk_label_new (<span class='string_literal'>"[Tasklist not supported on this platform]"</span>);</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> tasklist_apply_orientation(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;tasklist, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("destroy"), (<br>((GCallback) (destroy_tasklist))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> <span class='macro'>G_CALLBACK (destroy_tasklist),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("destroy"), (<br>((GCallback) (destroy_tasklist))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;tasklist), ("destroy"), (<br>((GCallback) (destroy_tasklist))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"size-allocate"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("size-allocate"<br>), (((GCallback) (applet_size_allocate))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> <span class='macro'>G_CALLBACK (applet_size_allocate),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("size-allocate"<br>), (((GCallback) (applet_size_allocate))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("size-allocate"<br>), (((GCallback) (applet_size_allocate))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> gtk_container_add(<span class='macro'>GTK_CONTAINER(tasklist-&gt;applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;applet)), ((gtk_container_get_type ()))))))</span></span>, tasklist-&gt;tasklist);</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"realize"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("realize"), ((<br>(GCallback) (applet_realized))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> <span class='macro'>G_CALLBACK (applet_realized),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("realize"), ((<br>(GCallback) (applet_realized))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("realize"), ((<br>(GCallback) (applet_realized))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"change-orient"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-orient"<br>), (((GCallback) (applet_change_orient))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='macro'>G_CALLBACK (applet_change_orient),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-orient"<br>), (((GCallback) (applet_change_orient))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-orient"<br>), (((GCallback) (applet_change_orient))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"change-size"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-size")<br>, (((GCallback) (applet_change_pixel_size))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='macro'>G_CALLBACK (applet_change_pixel_size),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-size")<br>, (((GCallback) (applet_change_pixel_size))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-size")<br>, (((GCallback) (applet_change_pixel_size))), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;applet, <span class='string_literal'>"change-background"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-background"<br>), (((GCallback) (applet_change_background))), (tasklist), ((<br>void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='macro'>G_CALLBACK(applet_change_background),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-background"<br>), (((GCallback) (applet_change_background))), (tasklist), ((<br>void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;applet), ("change-background"<br>), (((GCallback) (applet_change_background))), (tasklist), ((<br>void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> action_group = gtk_action_group_new(<span class='string_literal'>"Tasklist Applet Actions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> gtk_action_group_set_translation_domain(action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> gtk_action_group_add_actions(action_group, tasklist_menu_actions, <span class='macro'>G_N_ELEMENTS(tasklist_menu_actions)<span class='macro_popup'>(sizeof (tasklist_menu_actions) / sizeof ((tasklist_menu_actions<br>)[0]))</span></span>, tasklist);</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='comment'>/* disable the item of system monitor, if not exists.</span></td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='comment'>* example, mate-system-monitor, o gnome-system-monitor */</span></td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>char</span>* programpath;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> gsize i;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>G_N_ELEMENTS(system_monitors)<span class='macro_popup'>(sizeof (system_monitors) / sizeof ((system_monitors)[0]))</span></span>; i += 1)</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> programpath = g_find_program_in_path(system_monitors[i]);</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> <span class='keyword'>if</span> (programpath != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> g_free(programpath);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> <span class='comment'>/* we give up */</span></td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>goto</span> _system_monitor_found;</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='comment'>/* search another */</span></td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='comment'>/* system monitor not found */</span></td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> gtk_action_set_visible(gtk_action_group_get_action(action_group, <span class='string_literal'>"TasklistSystemMonitor"</span>), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> _system_monitor_found:;</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> <span class='comment'>/* end of system monitor item */</span></td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> mate_panel_applet_setup_menu_from_resource (MATE_PANEL_APPLET (tasklist-&gt;applet),</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='macro'>WNCKLET_RESOURCE_PATH<span class='macro_popup'>"/org/mate/panel/applet/wncklet/"</span></span> <span class='string_literal'>"window-list-menu.xml"</span>,</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_get_locked_down(MATE_PANEL_APPLET(tasklist-&gt;applet)))</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> GtkAction* action;</td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> action = gtk_action_group_get_action(action_group, <span class='string_literal'>"TasklistPreferences"</span>);</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> gtk_action_set_visible(action, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> g_object_unref(action_group);</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> tasklist_update(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> gtk_widget_show(tasklist-&gt;tasklist);</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gtk_widget_show(tasklist-&gt;applet);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> call_system_monitor(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> gsize i;</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>G_N_ELEMENTS(system_monitors)<span class='macro_popup'>(sizeof (system_monitors) / sizeof ((system_monitors)[0]))</span></span>; i += 1)</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='keyword'>char</span> *programpath = g_find_program_in_path(system_monitors[i]);</td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> <span class='keyword'>if</span> (programpath != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> g_free(programpath);</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> mate_gdk_spawn_command_line_on_screen(gtk_widget_get_screen(tasklist-&gt;applet),</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> system_monitors[i],</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_help_dialog(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> wncklet_display_help(tasklist-&gt;applet, <span class='string_literal'>"mate-user-guide"</span>, <span class='string_literal'>"windowlist"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_about_dialog(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> gchar* authors[] = {</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='string_literal'>"Perberos &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='string_literal'>"Steve Zesch &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='string_literal'>"Stefano Karapetsas &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> <span class='string_literal'>"Alexander Larsson &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span>* documenters [] = {</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> <span class='string_literal'>"Sun GNOME Documentation Team &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_show_about_dialog(<span class='macro'>GTK_WINDOW(tasklist-&gt;applet)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;applet)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> <span class='string_literal'>"program-name"</span>, <span class='macro'>_(<span class='string_literal'>"Window List"</span>)<span class='macro_popup'>gettext ("Window List")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='string_literal'>"title"</span>, <span class='macro'>_(<span class='string_literal'>"About Window List"</span>)<span class='macro_popup'>gettext ("About Window List")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='string_literal'>"authors"</span>, authors,</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='string_literal'>"comments"</span>, <span class='macro'>_(<span class='string_literal'>"The Window List shows a list of all windows in a set of buttons and lets you browse them."</span>)<span class='macro_popup'>gettext ("The Window List shows a list of all windows in a set of buttons and lets you browse them."<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='string_literal'>"copyright"</span>, <span class='macro'>_(<span class='string_literal'>"Copyright \xc2\xa9 2002 Red Hat, Inc.\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 2002 Red Hat, Inc.\n" "Copyright \xc2\xa9 2011 Perberos\n"<br> "Copyright \xc2\xa9 2012-2021 MATE developers")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2011 Perberos\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 2002 Red Hat, Inc.\n" "Copyright \xc2\xa9 2011 Perberos\n"<br> "Copyright \xc2\xa9 2012-2021 MATE developers")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2012-2021 MATE developers"</span>)<span class='macro_popup'>gettext ("Copyright \xc2\xa9 2002 Red Hat, Inc.\n" "Copyright \xc2\xa9 2011 Perberos\n"<br> "Copyright \xc2\xa9 2012-2021 MATE developers")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='string_literal'>"documenters"</span>, documenters,</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> <span class='string_literal'>"icon-name"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='string_literal'>"logo-icon-name"</span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='string_literal'>"translator-credits"</span>, <span class='macro'>_(<span class='string_literal'>"translator-credits"</span>)<span class='macro_popup'>gettext ("translator-credits")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='string_literal'>"version"</span>, <span class='macro'>VERSION<span class='macro_popup'>"1.29.0"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> <span class='string_literal'>"website"</span>, <span class='macro'>PACKAGE_URL<span class='macro_popup'>"https://mate-desktop.org"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> group_windows_toggled(GtkToggleButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>if</span> (gtk_toggle_button_get_active(button))</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> gchar *value;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> value = g_object_get_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> g_settings_set_string (tasklist-&gt;settings, <span class='string_literal'>"group-windows"</span>, value);</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> thumbnail_size_spin_changed(GtkSpinButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> g_settings_set_int(tasklist-&gt;preview_settings, <span class='string_literal'>"thumbnail-window-size"</span>, gtk_spin_button_get_value_as_int(button));</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> move_minimized_toggled(GtkToggleButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> g_settings_set_boolean(tasklist-&gt;settings, <span class='string_literal'>"move-unminimized-windows"</span>, gtk_toggle_button_get_active(button));</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_all_workspaces_toggled(GtkToggleButton* button, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> g_settings_set_boolean(tasklist-&gt;settings, <span class='string_literal'>"display-all-workspaces"</span>, gtk_toggle_button_get_active(button));</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"><span class='directive'>#define <span class='macro'>WID(s)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, s))), ((gtk_widget_get_type<br> ()))))))</span></span> <span class='macro'>GTK_WIDGET(gtk_builder_get_object(builder, s))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, s))), ((gtk_widget_get_type<br> ()))))))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_sensitivity(TasklistData* tasklist, GtkBuilder* builder, <span class='keyword'>const</span> <span class='keyword'>char</span>* wid1, <span class='keyword'>const</span> <span class='keyword'>char</span>* wid2, <span class='keyword'>const</span> <span class='keyword'>char</span>* wid3, <span class='keyword'>const</span> <span class='keyword'>char</span>* key)</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> GtkWidget* w;</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>if</span> (g_settings_is_writable(tasklist-&gt;settings, key))</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> w = <span class='macro'>WID(wid1)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, wid1))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> <span class='macro'>g_assert(w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "window-list.c", 1097, ((const char*) (__func__))<br>, "w != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> gtk_widget_set_sensitive(w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> <span class='keyword'>if</span> (wid2 != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> w = <span class='macro'>WID(wid2)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, wid2))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='macro'>g_assert(w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "window-list.c", 1103, ((const char*) (__func__))<br>, "w != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> gtk_widget_set_sensitive(w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> <span class='keyword'>if</span> (wid3 != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> w = <span class='macro'>WID(wid3)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, wid3))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> <span class='macro'>g_assert(w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "window-list.c", 1110, ((const char*) (__func__))<br>, "w != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> gtk_widget_set_sensitive(w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_dialog_wayland(TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> gtk_widget_show(tasklist-&gt;wayland_info_label);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;window_list_content_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;window_grouping_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;minimized_windows_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> gtk_widget_set_sensitive(tasklist-&gt;window_thumbnail_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"><span class='directive'>#endif /* HAVE_WINDOW_PREVIEWS */</span></td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_dialog(GtkBuilder* builder, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> GtkWidget* button;</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> tasklist-&gt;wayland_info_label = <span class='macro'>WID(<span class='string_literal'>"wayland_info_label"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "wayland_info_label"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> tasklist-&gt;show_current_radio = <span class='macro'>WID(<span class='string_literal'>"show_current_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "show_current_radio"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> tasklist-&gt;show_all_radio = <span class='macro'>WID(<span class='string_literal'>"show_all_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "show_all_radio"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> setup_sensitivity(tasklist, builder, <span class='string_literal'>"show_current_radio"</span>, <span class='string_literal'>"show_all_radio"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"display-all-workspaces"</span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> tasklist-&gt;never_group_radio = <span class='macro'>WID(<span class='string_literal'>"never_group_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "never_group_radio"))), (<br>(gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> tasklist-&gt;auto_group_radio = <span class='macro'>WID(<span class='string_literal'>"auto_group_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "auto_group_radio"))), (<br>(gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> tasklist-&gt;always_group_radio = <span class='macro'>WID(<span class='string_literal'>"always_group_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "always_group_radio"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> setup_sensitivity(tasklist, builder, <span class='string_literal'>"never_group_radio"</span>, <span class='string_literal'>"auto_group_radio"</span>, <span class='string_literal'>"always_group_radio"</span>, <span class='string_literal'>"group-windows"</span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> tasklist-&gt;window_thumbnail_box = <span class='macro'>WID(<span class='string_literal'>"window_thumbnail_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_thumbnail_box"))<br>), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> tasklist-&gt;show_thumbnails_check = <span class='macro'>WID(<span class='string_literal'>"show_thumbnails_check"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "show_thumbnails_check")<br>)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> tasklist-&gt;thumbnail_size_label = <span class='macro'>WID(<span class='string_literal'>"thumbnail_size_label"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "thumbnail_size_label"))<br>), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> tasklist-&gt;thumbnail_size_spin = <span class='macro'>WID(<span class='string_literal'>"thumbnail_size_spin"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "thumbnail_size_spin")))<br>, ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> g_settings_bind(tasklist-&gt;preview_settings, <span class='string_literal'>"show-window-thumbnails"</span>, tasklist-&gt;show_thumbnails_check, <span class='string_literal'>"active"</span>, G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>if</span> (gtk_toggle_button_get_active(<span class='macro'>GTK_TOGGLE_BUTTON(tasklist-&gt;show_thumbnails_check)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;show_thumbnails_check)), ((gtk_toggle_button_get_type<br> ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_label, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_spin, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_label, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> gtk_widget_set_sensitive (tasklist-&gt;thumbnail_size_spin, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> g_object_bind_property(tasklist-&gt;show_thumbnails_check, <span class='string_literal'>"active"</span>, tasklist-&gt;thumbnail_size_label, <span class='string_literal'>"sensitive"</span>, G_BINDING_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> g_object_bind_property(tasklist-&gt;show_thumbnails_check, <span class='string_literal'>"active"</span>, tasklist-&gt;thumbnail_size_spin, <span class='string_literal'>"sensitive"</span>, G_BINDING_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> gtk_widget_hide(<span class='macro'>WID(<span class='string_literal'>"window_thumbnail_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_thumbnail_box"))<br>), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> tasklist-&gt;move_minimized_radio = <span class='macro'>WID(<span class='string_literal'>"move_minimized_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "move_minimized_radio"))<br>), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> tasklist-&gt;change_workspace_radio = <span class='macro'>WID(<span class='string_literal'>"change_workspace_radio"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "change_workspace_radio"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> tasklist-&gt;mouse_scroll_check = <span class='macro'>WID(<span class='string_literal'>"mouse_scroll_check"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "mouse_scroll_check"))),<br> ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> tasklist-&gt;middle_click_close_check = <span class='macro'>WID(<span class='string_literal'>"middle_click_close_check"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "middle_click_close_check"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> tasklist-&gt;minimized_windows_box = <span class='macro'>WID(<span class='string_literal'>"minimized_windows_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "minimized_windows_box")<br>)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> tasklist-&gt;window_grouping_box = <span class='macro'>WID(<span class='string_literal'>"window_grouping_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_grouping_box")))<br>, ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> tasklist-&gt;window_list_content_box = <span class='macro'>WID(<span class='string_literal'>"window_list_content_box"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "window_list_content_box"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> setup_sensitivity(tasklist, builder, <span class='string_literal'>"move_minimized_radio"</span>, <span class='string_literal'>"change_workspace_radio"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"move-unminimized-windows"</span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> <span class='comment'>/* Window grouping: */</span></td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> button = get_grouping_button(tasklist, tasklist-&gt;grouping);</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> gtk_toggle_button_set_active(<span class='macro'>GTK_TOGGLE_BUTTON(button)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_toggle_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> g_object_set_data(<span class='macro'>G_OBJECT(tasklist-&gt;never_group_radio)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;never_group_radio)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>, <span class='string_literal'>"never"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> g_object_set_data(<span class='macro'>G_OBJECT(tasklist-&gt;auto_group_radio)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;auto_group_radio)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>, <span class='string_literal'>"auto"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> g_object_set_data(<span class='macro'>G_OBJECT(tasklist-&gt;always_group_radio)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;always_group_radio)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, <span class='string_literal'>"group_value"</span>, <span class='string_literal'>"always"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;never_group_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;never_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='macro'>(GCallback) group_windows_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;never_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;never_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;auto_group_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;auto_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> <span class='macro'>(GCallback) group_windows_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;auto_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;auto_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;always_group_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;always_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='macro'>(GCallback) group_windows_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;always_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;always_group_radio), ("toggled"<br>), ((GCallback) group_windows_toggled), (tasklist), ((void*)0<br>), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> <span class='comment'>/* Mouse Scroll: */</span></td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> g_settings_bind (tasklist-&gt;settings,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> <span class='string_literal'>"scroll-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> tasklist-&gt;mouse_scroll_check,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='string_literal'>"active"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> <span class='comment'>/* Middle mouse click to close window: */</span></td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> g_settings_bind (tasklist-&gt;settings,</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> <span class='string_literal'>"middle-click-close"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> tasklist-&gt;middle_click_close_check,</td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='string_literal'>"active"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> <span class='comment'>/* change thumbnail size: */</span></td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> tasklist_update_thumbnail_size_spin(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;thumbnail_size_spin, <span class='string_literal'>"value-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;thumbnail_size_spin), ("value-changed"<br>), ((GCallback) thumbnail_size_spin_changed), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> <span class='macro'>(GCallback) thumbnail_size_spin_changed,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;thumbnail_size_spin), ("value-changed"<br>), ((GCallback) thumbnail_size_spin_changed), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;thumbnail_size_spin), ("value-changed"<br>), ((GCallback) thumbnail_size_spin_changed), (tasklist), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='comment'>/* move window when unminimizing: */</span></td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> tasklist_update_unminimization_radio(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;move_minimized_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;move_minimized_radio), (<br>"toggled"), ((GCallback) move_minimized_toggled), (tasklist),<br> ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> <span class='macro'>(GCallback) move_minimized_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;move_minimized_radio), (<br>"toggled"), ((GCallback) move_minimized_toggled), (tasklist),<br> ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;move_minimized_radio), (<br>"toggled"), ((GCallback) move_minimized_toggled), (tasklist),<br> ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> <span class='comment'>/* Tasklist content: */</span></td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> tasklist_properties_update_content_radio (tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;show_all_radio, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;show_all_radio), ("toggled"<br>), ((GCallback) display_all_workspaces_toggled), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> <span class='macro'>(GCallback) display_all_workspaces_toggled,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;show_all_radio), ("toggled"<br>), ((GCallback) display_all_workspaces_toggled), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;show_all_radio), ("toggled"<br>), ((GCallback) display_all_workspaces_toggled), (tasklist), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='macro'>g_signal_connect_swapped (WID (<span class='string_literal'>"done_button"</span>), <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((gtk_builder_get_object(builder, "done_button"<br>))), ((gtk_widget_get_type ()))))))), ("clicked"), ((GCallback<br>) gtk_widget_hide), (tasklist-&gt;properties_dialog), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> <span class='macro'>(GCallback) gtk_widget_hide,<span class='macro_popup'>g_signal_connect_data ((((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((gtk_builder_get_object(builder, "done_button"<br>))), ((gtk_widget_get_type ()))))))), ("clicked"), ((GCallback<br>) gtk_widget_hide), (tasklist-&gt;properties_dialog), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='macro'>tasklist-&gt;properties_dialog)<span class='macro_popup'>g_signal_connect_data ((((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((gtk_builder_get_object(builder, "done_button"<br>))), ((gtk_widget_get_type ()))))))), ("clicked"), ((GCallback<br>) gtk_widget_hide), (tasklist-&gt;properties_dialog), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"> <span class='macro'>g_signal_connect (tasklist-&gt;properties_dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;properties_dialog), ("response"<br>), (((GCallback) (response_cb))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> <span class='macro'>G_CALLBACK (response_cb),<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;properties_dialog), ("response"<br>), (((GCallback) (response_cb))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='macro'>tasklist)<span class='macro_popup'>g_signal_connect_data ((tasklist-&gt;properties_dialog), ("response"<br>), (((GCallback) (response_cb))), (tasklist), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> setup_dialog_wayland(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_properties_dialog(GtkAction* action, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;properties_dialog == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> GtkBuilder* builder;</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> builder = gtk_builder_new();</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> gtk_builder_set_translation_domain(builder, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> gtk_builder_add_from_resource (builder, <span class='macro'>WNCKLET_RESOURCE_PATH<span class='macro_popup'>"/org/mate/panel/applet/wncklet/"</span></span> <span class='string_literal'>"window-list.ui"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> tasklist-&gt;properties_dialog = <span class='macro'>WID(<span class='string_literal'>"tasklist_properties_dialog"</span>)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object(builder, "tasklist_properties_dialog"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> g_object_add_weak_pointer(<span class='macro'>G_OBJECT(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>, (<span class='keyword'>void</span>**) &amp;tasklist-&gt;properties_dialog);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> setup_dialog(builder, tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> g_object_unref(builder);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> gtk_window_set_icon_name(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>, <span class='macro'>WINDOW_LIST_ICON<span class='macro_popup'>"mate-panel-window-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> gtk_window_set_resizable(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> gtk_window_set_screen(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>, gtk_widget_get_screen(tasklist-&gt;applet));</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> gtk_window_present(<span class='macro'>GTK_WINDOW(tasklist-&gt;properties_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((tasklist-&gt;properties_dialog)), ((gtk_window_get_type (<br>)))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> destroy_tasklist(GtkWidget* widget, TasklistData* tasklist)</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (G_OBJECT (tasklist-&gt;applet), tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((((((GObject*) (void *)<br> g_type_check_instance_cast ((GTypeInstance*) ((tasklist-&gt;<br>applet)), (((GType) ((20) &lt;&lt; (2))))))))), G_SIGNAL_MATCH_DATA<br>, 0, 0, ((void*)0), ((void*)0), (tasklist))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (G_OBJECT (tasklist-&gt;tasklist), tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((((((GObject*) (void *)<br> g_type_check_instance_cast ((GTypeInstance*) ((tasklist-&gt;<br>tasklist)), (((GType) ((20) &lt;&lt; (2))))))))), G_SIGNAL_MATCH_DATA<br>, 0, 0, ((void*)0), ((void*)0), (tasklist))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (tasklist-&gt;preview_settings, tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((tasklist-&gt;preview_settings<br>), G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (tasklist<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> g_object_unref(tasklist-&gt;preview_settings);</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (tasklist-&gt;settings, tasklist)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((tasklist-&gt;settings)<br>, G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (tasklist<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> g_object_unref(tasklist-&gt;settings);</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;properties_dialog)</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> gtk_widget_destroy(tasklist-&gt;properties_dialog);</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WINDOW_PREVIEWS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='keyword'>if</span> (tasklist-&gt;preview)</td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> gtk_widget_destroy(tasklist-&gt;preview);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> g_free(tasklist);</td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-713bcf.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-713bcf.html
new file mode 100644
index 00000000..4486b61d
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-713bcf.html
@@ -0,0 +1,912 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-glib.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC The right operand of '==' is a garbage value -->
+
+<!-- BUGTYPE Result of operation is garbage or undefined -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/libpanel-util/panel-glib.c -->
+
+<!-- FILENAME panel-glib.c -->
+
+<!-- FUNCTIONNAME panel_g_utf8_strstrcase -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 713bcfe7d79ea12ad2d0faf0e8c90fb6 -->
+
+<!-- BUGLINE 147 -->
+
+<!-- BUGCOLUMN 10 -->
+
+<!-- BUGPATHLENGTH 26 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/libpanel-util/panel-glib.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 147, column 10</a><br />The right operand of '==' is a garbage value</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-glib.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel/libpanel-util -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../.. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../../mate-panel/libpanel-util -D DATADIR="/usr/local/share" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel/libpanel-util -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-glib.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"107": 1, "108": 1, "109": 1, "110": 1, "111": 1, "116": 1, "117": 1, "118": 1, "119": 1, "120": 1, "121": 1, "122": 1, "124": 1, "125": 1, "126": 1, "127": 1, "129": 1, "131": 1, "132": 1, "133": 1, "138": 1, "140": 1, "141": 1, "142": 1, "144": 1, "145": 1, "147": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+ <path class="arrow" id="arrow0"/>
+ <path class="arrow" id="arrow1"/>
+ <path class="arrow" id="arrow2"/>
+ <path class="arrow" id="arrow3"/>
+ <path class="arrow" id="arrow4"/>
+ <path class="arrow" id="arrow5"/>
+ <path class="arrow" id="arrow6"/>
+ <path class="arrow" id="arrow7"/>
+ <path class="arrow" id="arrow8"/>
+ <path class="arrow" id="arrow9"/>
+ <path class="arrow" id="arrow10"/>
+ <path class="arrow" id="arrow11"/>
+ <path class="arrow" id="arrow12"/>
+ <path class="arrow" id="arrow13"/>
+ <path class="arrow" id="arrow14"/>
+ <path class="arrow" id="arrow15"/>
+ <path class="arrow" id="arrow16"/>
+ <path class="arrow" id="arrow17"/>
+ <path class="arrow" id="arrow18"/>
+ <path class="arrow" id="arrow19"/>
+ <path class="arrow" id="arrow20"/>
+ <path class="arrow" id="arrow21"/>
+ <path class="arrow" id="arrow22"/>
+ <path class="arrow" id="arrow23"/>
+ <path class="arrow" id="arrow24"/>
+ <path class="arrow" id="arrow25"/>
+ <path class="arrow" id="arrow26"/>
+ <path class="arrow" id="arrow27"/>
+ <path class="arrow" id="arrow28"/>
+ <path class="arrow" id="arrow29"/>
+ <path class="arrow" id="arrow30"/>
+ <path class="arrow" id="arrow31"/>
+ <path class="arrow" id="arrow32"/>
+ <path class="arrow" id="arrow33"/>
+ <path class="arrow" id="arrow34"/>
+ <path class="arrow" id="arrow35"/>
+ <path class="arrow" id="arrow36"/>
+ <path class="arrow" id="arrow37"/>
+ <path class="arrow" id="arrow38"/>
+ <path class="arrow" id="arrow39"/>
+ <path class="arrow" id="arrow40"/>
+ <path class="arrow" id="arrow41"/>
+ <path class="arrow" id="arrow42"/>
+ <path class="arrow" id="arrow43"/>
+ <path class="arrow" id="arrow44"/>
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 45,43,41,41,39,38,36,35,33,30,27,24,23,23,18,16,13,12,10,7,6,6,2,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-glib.c: various small extensions to glib</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2008 Novell, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Originally based on code from panel-util.c (there was no relevant copyright</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* header at the time), but the code was:</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* Copyright (C) Novell, Inc. (for the panel_g_utf8_strstrcase() code)</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* Copyright (C) Dennis Cranston (for the panel_g_lookup_in_data_dirs() code)</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> <span class='comment'>* Vincent Untz &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include "panel-glib.h"</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>char</span> * (*LookupInDir) (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename, <span class='keyword'>const</span> <span class='keyword'>char</span> *dir);</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line">_lookup_in_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *dir)</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> path = g_build_filename (dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line">_lookup_in_applications_subdir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *dir)</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> path = g_build_filename (dir, <span class='string_literal'>"applications"</span>, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line">_panel_g_lookup_in_data_dirs_internal (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> LookupInDir lookup)</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup (basename, user_data_dir)))</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++)</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">panel_g_lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>return</span> _panel_g_lookup_in_data_dirs_internal (basename,</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> _lookup_in_dir);</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line">panel_g_lookup_in_applications_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>return</span> _panel_g_lookup_in_data_dirs_internal (basename,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> _lookup_in_applications_subdir);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"><span class='comment'>/* Copied from evolution-data-server/libedataserver/e-util.c:</span></td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='comment'>* e_util_unicode_get_utf8() */</span></td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"><span id="start12"><span id="start29"><span class='keyword'>static</span></span></span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line">_unicode_get_utf8 (<span class='keyword'>const</span> <span class='keyword'>char</span> *text, gunichar *out)</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span id="start11"><span class="mrange"><span id="end12"><span id="start28"><span id="end29">*</span></span></span></span>out = g_utf8_get_char (text)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path17" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">17</div></td><td><div class="PathNav"><a href="#Path16" title="Previous event (16)">&#x2190;</a></div></td><td>Value assigned to 'unival', which participates in a condition later</td><td><div class="PathNav"><a href="#Path18" title="Next event (18)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class="mrange"><span id="end6"><span id="start7"><span id="end8"><span id="start10"><span id="end11"><span class="mrange"><span id="end23"><span id="start24"><span id="end25"><span id="start27"><span id="end28"><span class='keyword'>return</span></span></span></span></span></span></span></span></span></span></span> <span id="end7"><span id="start8"><span id="end10"><span id="end24"><span id="start25"><span id="end27">(</span></span></span></span></span></span><span id="start9"><span class="mrange"><span id="start26"><span class="mrange">*</span></span>out == (gunichar)-1</span></span>) ? <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> : <span id="start6"><span id="end9"><span id="start23"><span id="end26"><span class='macro'>g_utf8_next_char</span></span></span></span></span></span> (text)<span class='macro_popup'>(char *)((text) + g_utf8_skip[*(const guchar *)(text)])</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path10" class="msg msgEvent" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">10</div></td><td><div class="PathNav"><a href="#Path9" title="Previous event (9)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path11" title="Next event (11)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path11" class="msg msgControl" style="margin-left:16ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">11</div></td><td><div class="PathNav"><a href="#Path10" title="Previous event (10)">&#x2190;</a></div></td><td>'?' condition is false</td><td><div class="PathNav"><a href="#Path12" title="Next event (12)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path12" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">12</div></td><td><div class="PathNav"><a href="#Path11" title="Previous event (11)">&#x2190;</a></div></td><td>Returning pointer, which participates in a condition later</td><td><div class="PathNav"><a href="#Path13" title="Next event (13)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path18" class="msg msgEvent" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">18</div></td><td><div class="PathNav"><a href="#Path17" title="Previous event (17)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path19" title="Next event (19)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path19" class="msg msgControl" style="margin-left:16ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">19</div></td><td><div class="PathNav"><a href="#Path18" title="Previous event (18)">&#x2190;</a></div></td><td>'?' condition is false</td><td><div class="PathNav"><a href="#Path20" title="Next event (20)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path20" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">20</div></td><td><div class="PathNav"><a href="#Path19" title="Previous event (19)">&#x2190;</a></div></td><td>Returning pointer, which participates in a condition later</td><td><div class="PathNav"><a href="#Path21" title="Next event (21)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='comment'>/* Copied from evolution-data-server/libedataserver/e-util.c:</span></td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='comment'>* e_util_utf8_strstrcase() */</span></td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line">panel_g_utf8_strstrcase (<span class='keyword'>const</span> <span class='keyword'>char</span> *haystack, <span class='keyword'>const</span> <span class='keyword'>char</span> *needle)</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span id="start44">gunichar</span> *nuni;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> gunichar unival;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> gint nlen;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *o, *p;</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span id="start43"><span id="end44"><span class='keyword'>if</span></span></span> (<span id="start42"><span class="mrange"><span id="end43">haystack</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>) <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path1" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">1</div></td><td>Assuming 'haystack' is not equal to NULL</td><td><div class="PathNav"><a href="#Path2" title="Next event (2)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path2" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">2</div></td><td><div class="PathNav"><a href="#Path1" title="Previous event (1)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path3" title="Next event (3)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span id="start41"><span id="end42"><span class='keyword'>if</span></span></span> (<span id="start40"><span class="mrange"><span id="end41">needle</span></span> == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>) <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path3" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">3</div></td><td><div class="PathNav"><a href="#Path2" title="Previous event (2)">&#x2190;</a></div></td><td>Assuming 'needle' is not equal to NULL</td><td><div class="PathNav"><a href="#Path4" title="Next event (4)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path4" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">4</div></td><td><div class="PathNav"><a href="#Path3" title="Previous event (3)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path5" title="Next event (5)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span id="start39"><span id="end40"><span class='keyword'>if</span></span></span> (<span id="start37"><span class="mrange"><span id="end38">strlen</span></span> (<span id="start38"><span id="end39">needle</span></span>) == 0</span>) <span class='keyword'>return</span> haystack;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path5" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">5</div></td><td><div class="PathNav"><a href="#Path4" title="Previous event (4)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path6" title="Next event (6)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path6" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">6</div></td><td><div class="PathNav"><a href="#Path5" title="Previous event (5)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path7" title="Next event (7)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span id="start36"><span id="end37"><span class='keyword'>if</span></span></span> (<span id="start34"><span class="mrange"><span id="end35">strlen</span></span> (<span id="start35"><span id="end36">haystack</span></span>) == 0</span>) <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path7" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">7</div></td><td><div class="PathNav"><a href="#Path6" title="Previous event (6)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path8" title="Next event (8)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path8" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">8</div></td><td><div class="PathNav"><a href="#Path7" title="Previous event (7)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path9" title="Next event (9)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span id="start31"><span id="end32"><span id="start33"><span id="end34">nuni</span></span></span></span> = <span id="start32"><span id="end33"><span class='macro'>g_alloca</span></span> (<span class='keyword'>sizeof</span> (gunichar) * strlen (needle))<span class='macro_popup'>__builtin_alloca (sizeof (gunichar) * strlen (needle))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> nlen = 0;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span id="start30"><span id="end31"><span class='keyword'>for</span></span></span> (p = <span id="start22"><span class="mrange"><span class="mrange"><span id="end30">_unicode_get_utf8</span></span> (needle, &amp;unival)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path9" class="msg msgEvent" style="margin-left:18ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">9</div></td><td><div class="PathNav"><a href="#Path8" title="Previous event (8)">&#x2190;</a></div></td><td>Calling '_unicode_get_utf8'</td><td><div class="PathNav"><a href="#Path10" title="Next event (10)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path13" class="msg msgEvent" style="margin-left:18ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">13</div></td><td><div class="PathNav"><a href="#Path12" title="Previous event (12)">&#x2190;</a></div></td><td>Returning from '_unicode_get_utf8'</td><td><div class="PathNav"><a href="#Path14" title="Next event (14)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path14" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">14</div></td><td><div class="PathNav"><a href="#Path13" title="Previous event (13)">&#x2190;</a></div></td><td>Loop condition is false. Execution continues on line 138</td><td><div class="PathNav"><a href="#Path15" title="Next event (15)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span id="start19"><span id="end20"><span id="start21"><span id="end22"><span class='variable'>p<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>13.1</div></td><td>'p' is non-null</td></tr></tbody></table></span></span></span></span></span> &amp;&amp; <span id="start20"><span id="end21">unival</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> p = _unicode_get_utf8 (p, &amp;unival)) {</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> nuni[nlen++] = g_unichar_tolower (unival);</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='comment'>/* NULL means there was illegal utf-8 sequence */</span></td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> <span id="start18"><span id="end19"><span class='keyword'>if</span></span></span> (<span id="start17">!</span><span id="end18"><span class='variable'>p<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>14.1</div></td><td>'p' is non-null</td></tr></tbody></table></span></span>) <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path15" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">15</div></td><td><div class="PathNav"><a href="#Path14" title="Previous event (14)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path16" title="Next event (16)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span id="start14"><span id="end15"><span id="start16"><span id="end17">o</span></span></span></span> = <span id="start15"><span id="end16">haystack</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span id="start13"><span id="end14"><span class='keyword'>for</span></span></span> (p = <span id="start5"><span class="mrange"><span class="mrange"><span id="end13">_unicode_get_utf8</span></span> (o, &amp;unival)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path16" class="msg msgEvent" style="margin-left:18ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">16</div></td><td><div class="PathNav"><a href="#Path15" title="Previous event (15)">&#x2190;</a></div></td><td>Calling '_unicode_get_utf8'</td><td><div class="PathNav"><a href="#Path17" title="Next event (17)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path21" class="msg msgEvent" style="margin-left:18ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">21</div></td><td><div class="PathNav"><a href="#Path20" title="Previous event (20)">&#x2190;</a></div></td><td>Returning from '_unicode_get_utf8'</td><td><div class="PathNav"><a href="#Path22" title="Next event (22)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path22" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">22</div></td><td><div class="PathNav"><a href="#Path21" title="Previous event (21)">&#x2190;</a></div></td><td>Loop condition is true. Entering loop body</td><td><div class="PathNav"><a href="#EndPath" title="Next event (23)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span id="start2"><span id="end3"><span id="start4"><span id="end5"><span class='variable'>p<table class='variable_popup'><tbody><tr><td valign='top'><div class='PathIndex PathIndexPopUp'>21.1</div></td><td>'p' is non-null</td></tr></tbody></table></span></span></span></span></span> &amp;&amp; <span id="start3"><span id="end4">unival</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> p = _unicode_get_utf8 (p, &amp;unival)) {</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span id="start1"><span id="end2">gint</span></span> sc;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span id="start0"><span id="end1">sc</span></span> = g_unichar_tolower (unival);</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='comment'>/* We have valid stripped char */</span></td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='keyword'>if</span> (sc <span id="end0">==</span> <span class="mrange">nuni[0]</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:24ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">23</div></td><td><div class="PathNav"><a href="#Path22" title="Previous event (22)">&#x2190;</a></div></td><td>The right operand of '==' is a garbage value</td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *q = p;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> gint npos = 1;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>while</span> (npos &lt; nlen) {</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> q = _unicode_get_utf8 (q, &amp;unival);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>if</span> (!q || !unival) <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> sc = g_unichar_tolower (unival);</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> <span class='keyword'>if</span> (sc != nuni[npos]) <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> npos++;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> <span class='keyword'>if</span> (npos == nlen) {</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='keyword'>return</span> o;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> o = p;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-7c33d7.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-7c33d7.html
new file mode 100644
index 00000000..6e6c97a3
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-7c33d7.html
@@ -0,0 +1,2409 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-profile.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-profile.c -->
+
+<!-- FILENAME panel-profile.c -->
+
+<!-- FUNCTIONNAME unregister_dconf_editor_relocatable_schema -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 7c33d7ff9341925a5cd45250f901d7ab -->
+
+<!-- BUGLINE 871 -->
+
+<!-- BUGCOLUMN 56 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-profile.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 871, column 56</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-profile.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-profile.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"871": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-profile.c:</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include "panel-layout.h"</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-list.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-dconf.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-gsettings.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>int</span> x;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> gboolean x_centered;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='keyword'>int</span> y;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> gboolean y_centered;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint screen_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> guint monitor_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> guint size_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> guint x_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> guint x_right_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> guint x_centered_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> guint y_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> guint y_bottom_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> guint y_centered_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint orientation_changed : 1;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line">} ToplevelLocationChange;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>const</span> <span class='keyword'>char</span> *(*PanelProfileGetIdFunc) (gpointer object);</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"><span class='keyword'>typedef</span> gboolean (*PanelProfileOnLoadQueue) (<span class='keyword'>const</span> <span class='keyword'>char</span> *id);</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>void</span> (*PanelProfileLoadFunc) (<span class='keyword'>const</span> <span class='keyword'>char</span> *id);</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>void</span> (*PanelProfileDestroyFunc) (<span class='keyword'>const</span> <span class='keyword'>char</span> *id);</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"><span class='keyword'>static</span> GSettings *profile_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"><span class='keyword'>static</span> GQuark toplevel_id_quark = 0;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"><span class='directive'>#if 0</span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"><span class='keyword'>static</span> GQuark queued_changes_quark = 0;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"><span class='keyword'>static</span> GQuark commit_timeout_quark = 0;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_profile_object_id_list_update (gchar **objects);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_profile_ensure_toplevel_per_screen (<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line">panel_profile_set_toplevel_id (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id_quark)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> toplevel_id_quark = g_quark_from_static_string (<span class='string_literal'>"panel-toplevel-id"</span>);</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> g_object_set_qdata_full (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> toplevel_id_quark,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line">panel_profile_get_toplevel_id (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id_quark)</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>return</span> g_object_get_qdata (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, toplevel_id_quark);</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">panel_profile_get_toplevel_by_id (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> GSList *toplevels, *l;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id || !toplevel_id [0])</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> toplevels = panel_toplevel_list_toplevels ();</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class='keyword'>for</span> (l = toplevels; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>if</span> (!strcmp (panel_profile_get_toplevel_id (l-&gt;data), toplevel_id))</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>return</span> l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line">panel_profile_find_new_id (PanelGSettingsKeyType type)</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> gchar **existing_ids;</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>char</span> *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='keyword'>char</span> *prefix = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>char</span> *dir = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> <span class='keyword'>int</span> j;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_TOPLEVELS:</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> prefix = <span class='macro'>PANEL_TOPLEVEL_DEFAULT_PREFIX<span class='macro_popup'>"toplevel"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> dir = <span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_OBJECTS:</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> prefix = <span class='macro'>PANEL_OBJECT_DEFAULT_PREFIX<span class='macro_popup'>"object"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> dir = <span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-profile.c"<br>, 150, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> existing_ids = mate_dconf_list_subdirs (dir, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> <span class='keyword'>for</span> (i = 0; !retval; i++) {</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> retval = g_strdup_printf (<span class='string_literal'>"%s-%d"</span>, prefix, i);</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='keyword'>for</span> (j = 0; existing_ids[j] != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; j++) {</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (existing_ids[j], retval) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;retval, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;retval) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;retval<br>)) _pp = (&amp;retval); __typeof__ (*(&amp;retval)) _ptr = *_pp<br>; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> <span class='keyword'>if</span> (existing_ids)</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> g_strfreev (existing_ids);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='macro'>g_assert (retval != NULL)<span class='macro_popup'>do { if (retval != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-profile.c", 169, ((const char*) (__func__<br>)), "retval != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">panel_profile_remove_commit_timeout (guint timeout)</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> g_source_remove (timeout);</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line">panel_profile_set_commit_timeout (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> guint timeout)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> GDestroyNotify destroy_notify;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>if</span> (!commit_timeout_quark)</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> commit_timeout_quark = g_quark_from_static_string (<span class='string_literal'>"panel-queued-timeout"</span>);</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>if</span> (timeout)</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> destroy_notify = (GDestroyNotify) panel_profile_remove_commit_timeout;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> destroy_notify = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_set_qdata_full (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> commit_timeout_quark,</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> <span class='macro'>GUINT_TO_POINTER (timeout)<span class='macro_popup'>((gpointer) (gulong) (timeout))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> destroy_notify);</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"><span class='keyword'>static</span> guint</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">panel_profile_get_commit_timeout (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>if</span> (!commit_timeout_quark)</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GPOINTER_TO_UINT (g_object_get_qdata (object, commit_timeout_quark))<span class='macro_popup'>((guint) (gulong) (g_object_get_qdata (object, commit_timeout_quark<br>)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">panel_profile_key_is_writable (PanelToplevel *toplevel, gchar *key) {</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (toplevel-&gt;settings, key);</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line">panel_profile_background_key_is_writable (PanelToplevel *toplevel, gchar *key) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (toplevel-&gt;background_settings, key);</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line">panel_profile_set_background_type (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> PanelBackgroundType background_type)</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> g_settings_set_enum (toplevel-&gt;background_settings,</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='string_literal'>"type"</span>,</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> background_type);</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line">PanelBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line">panel_profile_get_background_type (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> PanelBackgroundType background_type;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> background_type = g_settings_get_enum (toplevel-&gt;background_settings,</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='string_literal'>"type"</span>);</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>return</span> background_type;</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line">panel_profile_set_background_color (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>char</span> *color_str;</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> color_str = gdk_rgba_to_string (color);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_settings_set_string (toplevel-&gt;background_settings, <span class='string_literal'>"color"</span>, color_str);</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_free (color_str);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line">panel_profile_get_background_color (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *color_str;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> color_str = g_settings_get_string (toplevel-&gt;background_settings, <span class='string_literal'>"color"</span>);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>if</span> (!color_str || !gdk_rgba_parse (color, color_str)) {</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> color-&gt;red = 0.;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> color-&gt;green = 0.;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> color-&gt;blue = 0.;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> color-&gt;alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> g_free (color_str);</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">panel_profile_set_background_opacity (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> gdouble percentage)</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> panel_profile_get_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> color.alpha = percentage / 100.0;</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> panel_profile_set_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line">gdouble</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line">panel_profile_get_background_opacity (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> panel_profile_get_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> color.alpha * 100.0;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line">panel_profile_set_background_image (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *image)</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>if</span> (image &amp;&amp; image [0])</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_settings_set_string (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>, image);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> g_settings_reset (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line">panel_profile_get_background_image (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>return</span> g_settings_get_string (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line">panel_profile_set_toplevel_name (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name)</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>if</span> (name &amp;&amp; name [0])</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_settings_set_string (toplevel-&gt;settings, <span class='string_literal'>"name"</span>, name);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> g_settings_reset (toplevel-&gt;settings, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">panel_profile_get_toplevel_name (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>return</span> g_settings_get_string (toplevel-&gt;settings, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line">panel_profile_set_toplevel_orientation (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_settings_set_enum (toplevel-&gt;settings, <span class='string_literal'>"orientation"</span>, orientation);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line">PanelOrientation</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line">panel_profile_get_toplevel_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> orientation = g_settings_get_enum (toplevel-&gt;settings, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='keyword'>return</span> orientation;</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_GET_SET_FUNCS(k, p, t, s, a)<span class='macro_popup'>void panel_profile_set_p_s (PanelToplevel *toplevel, a s) { g_settings_set_t<br> (toplevel-&gt;settings, k, s); } a panel_profile_get_p_s (PanelToplevel<br> *toplevel) { a retval; retval = g_settings_get_t (toplevel-&gt;<br>settings, k); return retval; }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='directive'>void \</span></td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='directive'>panel_profile_set_##p##_##s (PanelToplevel *toplevel, a s) \</span></td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='directive'>g_settings_set_##t (toplevel-&gt;settings, k, s); \</span></td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='directive'>} \</span></td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> <span class='directive'>a \</span></td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='directive'>panel_profile_get_##p##_##s (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='directive'>a retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='directive'>retval = g_settings_get_##t (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='directive'>return retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"size"</span>, toplevel, <span class='keyword'>int</span>, size, <span class='keyword'>int</span>)<span class='macro_popup'>void panel_profile_set_toplevel_size (PanelToplevel *toplevel<br>, int size) { g_settings_set_int (toplevel-&gt;settings, "size"<br>, size); } int panel_profile_get_toplevel_size (PanelToplevel<br> *toplevel) { int retval; retval = g_settings_get_int (toplevel<br>-&gt;settings, "size"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"expand"</span>, toplevel, boolean, expand, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_expand (PanelToplevel *toplevel<br>, gboolean expand) { g_settings_set_boolean (toplevel-&gt;settings<br>, "expand", expand); } gboolean panel_profile_get_toplevel_expand<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "expand"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"auto-hide"</span>, toplevel, boolean, auto_hide, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_auto_hide (PanelToplevel *toplevel<br>, gboolean auto_hide) { g_settings_set_boolean (toplevel-&gt;<br>settings, "auto-hide", auto_hide); } gboolean panel_profile_get_toplevel_auto_hide<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "auto-hide"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"enable-buttons"</span>, toplevel, boolean, enable_buttons, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_enable_buttons (PanelToplevel<br> *toplevel, gboolean enable_buttons) { g_settings_set_boolean<br> (toplevel-&gt;settings, "enable-buttons", enable_buttons); }<br> gboolean panel_profile_get_toplevel_enable_buttons (PanelToplevel<br> *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "enable-buttons"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_FUNCS (<span class='string_literal'>"enable-arrows"</span>, toplevel, boolean, enable_arrows, gboolean)<span class='macro_popup'>void panel_profile_set_toplevel_enable_arrows (PanelToplevel *<br>toplevel, gboolean enable_arrows) { g_settings_set_boolean (toplevel<br>-&gt;settings, "enable-arrows", enable_arrows); } gboolean panel_profile_get_toplevel_enable_arrows<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;settings, "enable-arrows"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS(k, p, t, s, a)<span class='macro_popup'>void panel_profile_set_p_s (PanelToplevel *toplevel, a s) { g_settings_set_t<br> (toplevel-&gt;background_settings, k, s); } a panel_profile_get_p_s<br> (PanelToplevel *toplevel) { a retval; retval = g_settings_get_t<br> (toplevel-&gt;background_settings, k); return retval; }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='directive'>void \</span></td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='directive'>panel_profile_set_##p##_##s (PanelToplevel *toplevel, a s) \</span></td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> <span class='directive'>g_settings_set_##t (toplevel-&gt;background_settings, k, s); \</span></td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='directive'>} \</span></td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='directive'>a \</span></td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> <span class='directive'>panel_profile_get_##p##_##s (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='directive'>a retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> <span class='directive'>retval = g_settings_get_##t (toplevel-&gt;background_settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='directive'>return retval; \</span></td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS (<span class='string_literal'>"fit"</span>, background, boolean, fit, gboolean)<span class='macro_popup'>void panel_profile_set_background_fit (PanelToplevel *toplevel<br>, gboolean fit) { g_settings_set_boolean (toplevel-&gt;background_settings<br>, "fit", fit); } gboolean panel_profile_get_background_fit (PanelToplevel<br> *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;background_settings, "fit"); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS (<span class='string_literal'>"stretch"</span>, background, boolean, stretch, gboolean)<span class='macro_popup'>void panel_profile_set_background_stretch (PanelToplevel *toplevel<br>, gboolean stretch) { g_settings_set_boolean (toplevel-&gt;background_settings<br>, "stretch", stretch); } gboolean panel_profile_get_background_stretch<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;background_settings, "stretch"); return retval<br>; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"><span class='macro'>TOPLEVEL_GET_SET_BG_FUNCS (<span class='string_literal'>"rotate"</span>, background, boolean, rotate, gboolean)<span class='macro_popup'>void panel_profile_set_background_rotate (PanelToplevel *toplevel<br>, gboolean rotate) { g_settings_set_boolean (toplevel-&gt;background_settings<br>, "rotate", rotate); } gboolean panel_profile_get_background_rotate<br> (PanelToplevel *toplevel) { gboolean retval; retval = g_settings_get_boolean<br> (toplevel-&gt;background_settings, "rotate"); return retval;<br> }</span></span></td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">GSettings*</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line">panel_profile_get_attached_object_settings (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> GtkWidget *attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> attach_widget = panel_toplevel_get_attach_widget (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> id = mate_panel_applet_get_id_by_widget (attach_widget);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='keyword'>if</span> (!id)</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>return</span> settings;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line">panel_profile_set_attached_custom_icon (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *custom_icon)</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> g_settings_set_boolean (settings, <span class='macro'>PANEL_OBJECT_USE_CUSTOM_ICON_KEY<span class='macro_popup'>"use-custom-icon"</span></span>, custom_icon != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> g_settings_set_string (settings, <span class='macro'>PANEL_OBJECT_CUSTOM_ICON_KEY<span class='macro_popup'>"custom-icon"</span></span>, <span class='macro'>sure_string (custom_icon)<span class='macro_popup'>((const char *)((custom_icon)!=((void*)0)?(custom_icon):""))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line">panel_profile_get_attached_custom_icon (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> gchar *custom_icon = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='keyword'>if</span> (!g_settings_get_boolean (settings, <span class='macro'>PANEL_OBJECT_USE_CUSTOM_ICON_KEY<span class='macro_popup'>"use-custom-icon"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> custom_icon = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_CUSTOM_ICON_KEY<span class='macro_popup'>"custom-icon"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> <span class='keyword'>return</span> custom_icon;</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line">panel_profile_is_writable_attached_custom_icon (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> gboolean is_writable = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> is_writable = g_settings_is_writable (settings, <span class='macro'>PANEL_OBJECT_USE_CUSTOM_ICON_KEY<span class='macro_popup'>"use-custom-icon"</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> g_settings_is_writable (settings, <span class='macro'>PANEL_OBJECT_CUSTOM_ICON_KEY<span class='macro_popup'>"custom-icon"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span> is_writable;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">panel_profile_set_attached_tooltip (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip)</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> g_settings_set_string (settings, <span class='macro'>PANEL_OBJECT_TOOLTIP_KEY<span class='macro_popup'>"tooltip"</span></span>, tooltip);</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line">panel_profile_get_attached_tooltip (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> gchar *tooltip = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_TOOLTIP_KEY<span class='macro_popup'>"tooltip"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='keyword'>return</span> tooltip;</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line">panel_profile_is_writable_attached_tooltip (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> gboolean is_writable = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> settings = panel_profile_get_attached_object_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> is_writable = g_settings_is_writable (settings, <span class='macro'>PANEL_OBJECT_TOOLTIP_KEY<span class='macro_popup'>"tooltip"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>return</span> is_writable;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line">get_background_image (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> gboolean *fit,</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> gboolean *stretch,</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> gboolean *rotate)</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='keyword'>char</span> *image;</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> image = g_settings_get_string (toplevel-&gt;background_settings, <span class='string_literal'>"image"</span>);</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> *fit = g_settings_get_boolean (toplevel-&gt;background_settings, <span class='string_literal'>"fit"</span>);</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> *stretch = g_settings_get_boolean (toplevel-&gt;background_settings, <span class='string_literal'>"stretch"</span>);</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> *rotate = g_settings_get_boolean (toplevel-&gt;background_settings, <span class='string_literal'>"rotate"</span>);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>return</span> image;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line">panel_profile_load_background (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> PanelBackgroundType background_type;</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>char</span> *image;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> gboolean fit;</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> gboolean stretch;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> panel_widget = panel_toplevel_get_panel_widget (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> background = &amp;panel_widget-&gt;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> background_type = panel_profile_get_background_type (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> panel_profile_get_background_color (toplevel, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> image = get_background_image (toplevel, &amp;fit, &amp;stretch, &amp;rotate);</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> panel_background_set (background,</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> background_type,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> &amp;color,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> image,</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> fit,</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> stretch,</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> rotate);</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> g_free (image);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line">panel_profile_commit_toplevel_changes (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> <span class='keyword'>if</span> (g_settings_get_has_unapplied (toplevel-&gt;queued_settings))</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> g_settings_apply (toplevel-&gt;queued_settings);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> panel_profile_set_commit_timeout (toplevel, 0);</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line">panel_profile_queue_toplevel_location_change (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> ToplevelLocationChange *change)</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> guint commit_timeout;</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> g_settings_delay (toplevel-&gt;queued_settings);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>if</span> (change-&gt;screen_changed &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='macro'>GDK_IS_X11_SCREEN (change-&gt;screen)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(change-&gt;screen)); GType __t = ((gdk_x11_screen_get_type (<br>))); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='string_literal'>"screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> gdk_x11_screen_get_screen_number (change-&gt;screen));</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> <span class='keyword'>if</span> (change-&gt;monitor_changed)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> <span class='string_literal'>"monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> change-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='keyword'>if</span> (change-&gt;size_changed)</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> change-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> <span class='keyword'>if</span> (change-&gt;orientation_changed)</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> g_settings_set_enum (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> <span class='string_literal'>"orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> change-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> <span class='keyword'>if</span> (change-&gt;x_changed)</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='string_literal'>"x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> change-&gt;x);</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> <span class='keyword'>if</span> (change-&gt;x_right_changed)</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> <span class='string_literal'>"x-right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> change-&gt;x_right);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>if</span> (change-&gt;x_centered_changed)</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> g_settings_set_boolean (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> <span class='string_literal'>"x-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> change-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>if</span> (change-&gt;y_changed)</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='string_literal'>"y"</span>,</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> change-&gt;y);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>if</span> (change-&gt;y_bottom_changed)</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> g_settings_set_int (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> <span class='string_literal'>"y-bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> change-&gt;y_bottom);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> <span class='keyword'>if</span> (change-&gt;y_centered_changed)</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> g_settings_set_boolean (toplevel-&gt;queued_settings,</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='string_literal'>"y-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> change-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> commit_timeout = panel_profile_get_commit_timeout (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>if</span> (!commit_timeout) {</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> commit_timeout =</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> g_timeout_add (500,</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> (GSourceFunc) panel_profile_commit_toplevel_changes,</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> panel_profile_set_commit_timeout (toplevel, commit_timeout);</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(c)<span class='macro_popup'>static void panel_profile_toplevel_c_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; change<br>.c_changed = (!(0)); change.c = panel_toplevel_get_c (toplevel<br>); panel_profile_queue_toplevel_location_change (toplevel, &amp;<br>change); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='directive'>static void \</span></td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> <span class='directive'>panel_profile_toplevel_##c##_changed (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='directive'>ToplevelLocationChange change = { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> }; \</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='directive'>change.c##_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; \</span></td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> <span class='directive'>change.c = panel_toplevel_get_##c (toplevel); \</span></td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='directive'>panel_profile_queue_toplevel_location_change (toplevel, &amp;change); \</span></td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(monitor)<span class='macro_popup'>static void panel_profile_toplevel_monitor_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.monitor_changed = (!(0)); change.monitor = panel_toplevel_get_monitor<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(size)<span class='macro_popup'>static void panel_profile_toplevel_size_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.size_changed = (!(0)); change.size = panel_toplevel_get_size<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(orientation)<span class='macro_popup'>static void panel_profile_toplevel_orientation_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.orientation_changed = (!(0)); change.orientation = panel_toplevel_get_orientation<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(x_centered)<span class='macro_popup'>static void panel_profile_toplevel_x_centered_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.x_centered_changed = (!(0)); change.x_centered = panel_toplevel_get_x_centered<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"><span class='macro'>TOPLEVEL_LOCATION_CHANGED_HANDLER(y_centered)<span class='macro_popup'>static void panel_profile_toplevel_y_centered_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> change.y_centered_changed = (!(0)); change.y_centered = panel_toplevel_get_y_centered<br> (toplevel); panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"><span class='directive'>#define <span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(c)<span class='macro_popup'>static void panel_profile_toplevel_c_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; int<br> x, y, x_right, y_bottom; change.c_changed = (!(0)); panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); change<br>.c = c; panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='directive'>static void \</span></td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='directive'>panel_profile_toplevel_##c##_changed (PanelToplevel *toplevel) \</span></td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='directive'>ToplevelLocationChange change = { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> }; \</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='directive'>int x, y, x_right, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> <span class='directive'>change.c##_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; \</span></td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='directive'>&amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='directive'>change.c = c; \</span></td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='directive'>panel_profile_queue_toplevel_location_change (toplevel, &amp;change); \</span></td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(x)<span class='macro_popup'>static void panel_profile_toplevel_x_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; int<br> x, y, x_right, y_bottom; change.x_changed = (!(0)); panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); change<br>.x = x; panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(x_right)<span class='macro_popup'>static void panel_profile_toplevel_x_right_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> int x, y, x_right, y_bottom; change.x_right_changed = (!(0))<br>; panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); change.x_right = x_right; panel_profile_queue_toplevel_location_change<br> (toplevel, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(y)<span class='macro_popup'>static void panel_profile_toplevel_y_changed (PanelToplevel *<br>toplevel) { ToplevelLocationChange change = { ((void*)0) }; int<br> x, y, x_right, y_bottom; change.y_changed = (!(0)); panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); change<br>.y = y; panel_profile_queue_toplevel_location_change (toplevel<br>, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"><span class='macro'>TOPLEVEL_POSITION_CHANGED_HANDLER(y_bottom)<span class='macro_popup'>static void panel_profile_toplevel_y_bottom_changed (PanelToplevel<br> *toplevel) { ToplevelLocationChange change = { ((void*)0) };<br> int x, y, x_right, y_bottom; change.y_bottom_changed = (!(0)<br>); panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); change.y_bottom = y_bottom; panel_profile_queue_toplevel_location_change<br> (toplevel, &amp;change); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line">panel_profile_toplevel_screen_changed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> ToplevelLocationChange change = { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> };</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> change.screen_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> change.screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> panel_profile_queue_toplevel_location_change (toplevel, &amp;change);</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line">panel_profile_connect_to_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::screen"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::screen"), (((GCallback<br>) (panel_profile_toplevel_screen_changed))), (((void*)0)), ((<br>void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_screen_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::screen"), (((GCallback<br>) (panel_profile_toplevel_screen_changed))), (((void*)0)), ((<br>void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::monitor"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::monitor"), (((GCallback<br>) (panel_profile_toplevel_monitor_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_monitor_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::monitor"), (((GCallback<br>) (panel_profile_toplevel_monitor_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::size"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::size"), (((GCallback<br>) (panel_profile_toplevel_size_changed))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_size_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::size"), (((GCallback<br>) (panel_profile_toplevel_size_changed))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::x"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x"), (((GCallback<br>) (panel_profile_toplevel_x_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_x_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x"), (((GCallback<br>) (panel_profile_toplevel_x_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::x-right"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-right"), (((GCallback<br>) (panel_profile_toplevel_x_right_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_x_right_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-right"), (((GCallback<br>) (panel_profile_toplevel_x_right_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::x-centered"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-centered"), ((<br>(GCallback) (panel_profile_toplevel_x_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_x_centered_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::x-centered"), ((<br>(GCallback) (panel_profile_toplevel_x_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::y"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y"), (((GCallback<br>) (panel_profile_toplevel_y_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_y_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y"), (((GCallback<br>) (panel_profile_toplevel_y_changed))), (((void*)0)), ((void*<br>)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::y-bottom"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-bottom"), (((GCallback<br>) (panel_profile_toplevel_y_bottom_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_y_bottom_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-bottom"), (((GCallback<br>) (panel_profile_toplevel_y_bottom_changed))), (((void*)0)), (<br>(void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::y-centered"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-centered"), ((<br>(GCallback) (panel_profile_toplevel_y_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_y_centered_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::y-centered"), ((<br>(GCallback) (panel_profile_toplevel_y_centered_changed))), ((<br>(void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"notify::orientation"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::orientation"), (<br>((GCallback) (panel_profile_toplevel_orientation_changed))), (<br>((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_orientation_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("notify::orientation"), (<br>((GCallback) (panel_profile_toplevel_orientation_changed))), (<br>((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">panel_profile_toplevel_change_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> <span class='keyword'>if</span> (toplevel == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || !<span class='macro'>PANEL_IS_TOPLEVEL (toplevel)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_STRING(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { gchar *value = g_settings_get_string (<br>settings, key); panel_toplevel_set_n (toplevel, value); g_free<br> (value); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='directive'>gchar *value = g_settings_get_string (settings, key); \</span></td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, value); \</span></td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> <span class='directive'>g_free (value); \</span></td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_ENUM(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { panel_toplevel_set_n (toplevel, g_settings_get_enum<br> (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='directive'>g_settings_get_enum (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_INT(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { panel_toplevel_set_n (toplevel, g_settings_get_int<br> (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='directive'>g_settings_get_int (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_BOOL(k, n)<span class='macro_popup'>if (!strcmp (key, k)) { panel_toplevel_set_n (toplevel, g_settings_get_boolean<br> (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='directive'>panel_toplevel_set_##n (toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='directive'>g_settings_get_boolean (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_POS(k, n, n2)<span class='macro_popup'>if (!strcmp (key, k)) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_n<br> ( toplevel, g_settings_get_int (settings, key), n2, panel_toplevel_get_n_centered<br> (toplevel)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='directive'>int x, x_right, y, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='directive'>panel_toplevel_set_##n ( \</span></td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> <span class='directive'>toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='directive'>g_settings_get_int (settings, key), \</span></td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='directive'>n2, \</span></td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='directive'>panel_toplevel_get_##n##_centered (toplevel)); \</span></td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_POS2(k, n, n2)<span class='macro_popup'>if (!strcmp (key, k)) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_n<br> ( toplevel, n, g_settings_get_int (settings, key), panel_toplevel_get_n_centered<br> (toplevel)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> <span class='directive'>int x, x_right, y, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> <span class='directive'>panel_toplevel_set_##n ( \</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='directive'>toplevel, \</span></td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='directive'>n, \</span></td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='directive'>g_settings_get_int (settings, key), \</span></td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='directive'>panel_toplevel_get_##n##_centered (toplevel)); \</span></td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"><span class='directive'>#define <span class='macro'>UPDATE_CENTERED(k, n, n2)<span class='macro_popup'>if (!strcmp (key, k)) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_n<br> ( toplevel, n, n2, g_settings_get_boolean (settings, key)); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> <span class='directive'>if (!strcmp (key, k)) { \</span></td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> <span class='directive'>int x, x_right, y, y_bottom; \</span></td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> <span class='directive'>panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right, \</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> <span class='directive'>&amp;y, &amp;y_bottom); \</span></td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='directive'>panel_toplevel_set_##n ( \</span></td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> <span class='directive'>toplevel, n, n2, \</span></td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> <span class='directive'>g_settings_get_boolean (settings, key)); \</span></td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"screen"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> screen = gdk_display_get_default_screen (gdk_display_get_default ());</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> <span class='keyword'>if</span> (screen)</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='comment'>/* Make sure to set the key back to an actual</span></td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='comment'>* available screen so it will get loaded on</span></td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='comment'>* next startup.</span></td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> panel_profile_toplevel_screen_changed (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"monitor"</span>, monitor)<span class='macro_popup'>if (!strcmp (key, "monitor")) { panel_toplevel_set_monitor (toplevel<br>, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_STRING (<span class='string_literal'>"name"</span>, name)<span class='macro_popup'>if (!strcmp (key, "name")) { gchar *value = g_settings_get_string<br> (settings, key); panel_toplevel_set_name (toplevel, value); g_free<br> (value); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"expand"</span>, expand)<span class='macro_popup'>if (!strcmp (key, "expand")) { panel_toplevel_set_expand (toplevel<br>, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_ENUM (<span class='string_literal'>"orientation"</span>, orientation)<span class='macro_popup'>if (!strcmp (key, "orientation")) { panel_toplevel_set_orientation<br> (toplevel, g_settings_get_enum (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"size"</span>, size)<span class='macro_popup'>if (!strcmp (key, "size")) { panel_toplevel_set_size (toplevel<br>, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS (<span class='string_literal'>"x"</span>, x, x_right)<span class='macro_popup'>if (!strcmp (key, "x")) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_x<br> ( toplevel, g_settings_get_int (settings, key), x_right, panel_toplevel_get_x_centered<br> (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS (<span class='string_literal'>"y"</span>, y, y_bottom)<span class='macro_popup'>if (!strcmp (key, "y")) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_y<br> ( toplevel, g_settings_get_int (settings, key), y_bottom, panel_toplevel_get_y_centered<br> (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS2 (<span class='string_literal'>"x-right"</span>, x, x_right)<span class='macro_popup'>if (!strcmp (key, "x-right")) { int x, x_right, y, y_bottom; panel_toplevel_get_position<br> (toplevel, &amp;x, &amp;x_right, &amp;y, &amp;y_bottom); panel_toplevel_set_x<br> ( toplevel, x, g_settings_get_int (settings, key), panel_toplevel_get_x_centered<br> (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_POS2 (<span class='string_literal'>"y-bottom"</span>, y, y_bottom)<span class='macro_popup'>if (!strcmp (key, "y-bottom")) { int x, x_right, y, y_bottom;<br> panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right,<br> &amp;y, &amp;y_bottom); panel_toplevel_set_y ( toplevel, y, g_settings_get_int<br> (settings, key), panel_toplevel_get_y_centered (toplevel)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_CENTERED (<span class='string_literal'>"x-centered"</span>, x, x_right)<span class='macro_popup'>if (!strcmp (key, "x-centered")) { int x, x_right, y, y_bottom<br>; panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); panel_toplevel_set_x ( toplevel, x,<br> x_right, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_CENTERED (<span class='string_literal'>"y-centered"</span>, y, y_bottom)<span class='macro_popup'>if (!strcmp (key, "y-centered")) { int x, x_right, y, y_bottom<br>; panel_toplevel_get_position (toplevel, &amp;x, &amp;x_right<br>, &amp;y, &amp;y_bottom); panel_toplevel_set_y ( toplevel, y,<br> y_bottom, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"auto-hide"</span>, auto_hide)<span class='macro_popup'>if (!strcmp (key, "auto-hide")) { panel_toplevel_set_auto_hide<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"enable-animations"</span>, animate)<span class='macro_popup'>if (!strcmp (key, "enable-animations")) { panel_toplevel_set_animate<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"enable-buttons"</span>, enable_buttons)<span class='macro_popup'>if (!strcmp (key, "enable-buttons")) { panel_toplevel_set_enable_buttons<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_BOOL (<span class='string_literal'>"enable-arrows"</span>, enable_arrows)<span class='macro_popup'>if (!strcmp (key, "enable-arrows")) { panel_toplevel_set_enable_arrows<br> (toplevel, g_settings_get_boolean (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"hide-delay"</span>, hide_delay)<span class='macro_popup'>if (!strcmp (key, "hide-delay")) { panel_toplevel_set_hide_delay<br> (toplevel, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"unhide-delay"</span>, unhide_delay)<span class='macro_popup'>if (!strcmp (key, "unhide-delay")) { panel_toplevel_set_unhide_delay<br> (toplevel, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_INT (<span class='string_literal'>"auto-hide-size"</span>, auto_hide_size)<span class='macro_popup'>if (!strcmp (key, "auto-hide-size")) { panel_toplevel_set_auto_hide_size<br> (toplevel, g_settings_get_int (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> <span class='keyword'>else</span> <span class='macro'>UPDATE_ENUM (<span class='string_literal'>"animation-speed"</span>, animation_speed)<span class='macro_popup'>if (!strcmp (key, "animation-speed")) { panel_toplevel_set_animation_speed<br> (toplevel, g_settings_get_enum (settings, key)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line">panel_profile_background_change_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='keyword'>if</span> (toplevel == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || !<span class='macro'>PANEL_IS_TOPLEVEL (toplevel)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> panel_widget = panel_toplevel_get_panel_widget (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='keyword'>if</span> (panel_widget == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> background = &amp;panel_widget-&gt;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"type"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> PanelBackgroundType background_type;</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> background_type = g_settings_get_enum (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> panel_background_set_type (background, background_type);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> gchar *str;</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> str = g_settings_get_string (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> <span class='keyword'>if</span> (gdk_rgba_parse (&amp;color, str))</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> panel_background_set_color (background, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> g_free (str);</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"image"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> gchar *value = g_settings_get_string (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> panel_background_set_image (background, value);</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"fit"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> panel_background_set_fit (background,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> g_settings_get_boolean (settings, key));</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"stretch"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> panel_background_set_stretch (background,</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> g_settings_get_boolean (settings, key));</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!strcmp (key, <span class='string_literal'>"rotate"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> panel_background_set_rotate (background,</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> g_settings_get_boolean (settings, key));</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line">key_from_type (PanelGSettingsKeyType type) {</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_TOPLEVELS)</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANEL_TOPLEVEL_ID_LIST_KEY<span class='macro_popup'>"toplevel-id-list"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_OBJECTS)</td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-profile.c"<br>, 834, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line">remove_from_dict (GVariant *dict, <span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> GVariantIter iter;</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> gchar *key;</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> gchar *value;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> g_variant_builder_init (&amp;builder, (<span class='keyword'>const</span> GVariantType *) <span class='string_literal'>"a{ss}"</span>);</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> g_variant_iter_init (&amp;iter, dict);</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> <span class='keyword'>while</span> (g_variant_iter_next (&amp;iter, <span class='string_literal'>"{ss}"</span>, &amp;key, &amp;value)) {</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> <span class='keyword'>if</span> ( g_strcmp0 (value, path) != 0) {</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{ss}"</span>, key, value);</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> g_free (key);</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='keyword'>return</span> g_variant_ref_sink (g_variant_builder_end (&amp;builder));</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line">unregister_dconf_editor_relocatable_schema (<span class='keyword'>const</span> gchar *path)</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> GSettings *dconf_editor_settings;</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> dconf_editor_settings = g_settings_new (<span class='string_literal'>"ca.desrt.dconf-editor.Settings"</span>);</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='keyword'>if</span> (dconf_editor_settings &amp;&amp; g_settings_is_writable (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> GVariant *relocatable_schemas = g_settings_get_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>);</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> <span class='keyword'>if</span> (g_variant_is_of_type (relocatable_schemas, <span class="mrange"><span class="mrange"><span class='macro'>G_VARIANT_TYPE_DICTIONARY<span class='macro_popup'>((const GVariantType *) "a{?*}")</span></span></span></span>)) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:56ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GVariant * new_relocatable_schemas = remove_from_dict (relocatable_schemas, path);</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> g_settings_set_value (dconf_editor_settings, <span class='string_literal'>"relocatable-schemas-user-paths"</span>, new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> g_variant_unref (new_relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> g_variant_unref (relocatable_schemas);</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> g_object_unref (dconf_editor_settings);</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line">panel_profile_add_to_list (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> <span class='keyword'>char</span> *new_id = id ? <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span> : panel_profile_find_new_id (type);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>if</span> (new_id != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> mate_gsettings_append_strv (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> key_from_type (type),</td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> new_id);</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> g_free (new_id);</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line">panel_profile_remove_from_list (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> mate_gsettings_remove_all_from_strv (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> key_from_type (type),</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> id);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">panel_profile_id_list_is_writable (PanelGSettingsKeyType type)</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (profile_settings, key_from_type (type));</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line">panel_profile_id_lists_are_writable (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>return</span></td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> panel_profile_id_list_is_writable (PANEL_GSETTINGS_TOPLEVELS) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> panel_profile_id_list_is_writable (PANEL_GSETTINGS_OBJECTS);</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line">panel_profile_find_empty_spot (GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> PanelOrientation *orientation,</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>int</span> *monitor)</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> GSList *li;</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>int</span> *filled_spots;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> gboolean found_a_spot = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> *monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> *orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> filled_spots = <span class='macro'>g_new0 (<span class='keyword'>int</span>, panel_multimonitor_monitors ())<span class='macro_popup'>((int *) g_malloc0_n ((panel_multimonitor_monitors ()), sizeof<br> (int)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> <span class='keyword'>for</span> (li = panel_toplevel_list_toplevels (); li != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; li = li-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> PanelToplevel *toplevel = li-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> GdkScreen *toplevel_screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> <span class='keyword'>int</span> toplevel_monitor = panel_toplevel_get_monitor (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='keyword'>if</span> (toplevel_screen != screen ||</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> panel_toplevel_get_is_attached (toplevel) ||</td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> toplevel_monitor &lt; 0)</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> filled_spots[toplevel_monitor] |= panel_toplevel_get_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; panel_multimonitor_monitors (); i++) {</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='comment'>/* These are ordered based on "priority" of the</span></td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='comment'>orientation when picking it */</span></td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_TOP)) {</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> *orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_BOTTOM)) {</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> *orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_RIGHT)) {</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> *orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> ( ! (filled_spots[i] &amp; PANEL_ORIENTATION_LEFT)) {</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> *orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> *monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> found_a_spot = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> g_free (filled_spots);</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> <span class='keyword'>return</span> found_a_spot;</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line">panel_profile_create_toplevel (GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='keyword'>int</span> screen_number;</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='macro'>g_return_if_fail (screen != NULL)<span class='macro_popup'>do { if ((screen != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "screen != NULL")<br>; return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> id = panel_profile_find_new_id (PANEL_GSETTINGS_TOPLEVELS);</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> path = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> screen_number = 0;</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_SCREEN (screen)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(screen)); GType __t = ((gdk_x11_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> screen_number = gdk_x11_screen_get_screen_number (screen);</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> g_settings_set_int (settings, <span class='macro'>PANEL_TOPLEVEL_SCREEN_KEY<span class='macro_popup'>"screen"</span></span>, screen_number);</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='keyword'>if</span> (panel_profile_find_empty_spot (screen, &amp;orientation, &amp;monitor)) {</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> g_settings_set_int (settings, <span class='macro'>PANEL_TOPLEVEL_MONITOR_KEY<span class='macro_popup'>"monitor"</span></span>, monitor);</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> g_settings_set_enum (settings, <span class='macro'>PANEL_TOPLEVEL_ORIENTATION_KEY<span class='macro_popup'>"orientation"</span></span>, orientation);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> panel_profile_add_to_list (PANEL_GSETTINGS_TOPLEVELS, id);</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> g_free (id);</td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line">panel_profile_delete_toplevel_objects (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> gchar **list;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> GArray *newlist;</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> list = g_settings_get_strv (profile_settings, <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> newlist = g_array_new (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (gchar *));</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='keyword'>for</span> (i = 0; list[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='keyword'>char</span> *parent_toplevel_id;</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, list[i]);</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, path);</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> parent_toplevel_id = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_TOPLEVEL_ID_KEY<span class='macro_popup'>"toplevel-id"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> <span class='keyword'>if</span> (parent_toplevel_id &amp;&amp; !strcmp (toplevel_id, parent_toplevel_id)) {</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> g_free (parent_toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> newlist = <span class='macro'>g_array_append_val (newlist, list[i])<span class='macro_popup'>g_array_append_vals (newlist, &amp;(list[i]), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> g_free (parent_toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> g_settings_set_strv (profile_settings, <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>, (<span class='keyword'>const</span> gchar **) newlist-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> g_array_free (newlist, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> g_strfreev (list);</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line">panel_profile_delete_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id;</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> toplevel_id = panel_profile_get_toplevel_id (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> panel_profile_delete_toplevel_objects (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> panel_profile_remove_from_list (PANEL_GSETTINGS_TOPLEVELS, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line">panel_profile_load_toplevel (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> <span class='keyword'>char</span> *toplevel_path;</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> <span class='keyword'>char</span> *toplevel_background_path;</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='keyword'>if</span> (!toplevel_id || !toplevel_id [0])</td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> toplevel_path = g_strdup_printf (<span class='string_literal'>"%s%s/"</span>, <span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span>, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> screen = gdk_display_get_default_screen (gdk_display_get_default ());</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>if</span> (screen == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> g_free (toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> toplevel = g_object_new (<span class='macro'>PANEL_TYPE_TOPLEVEL<span class='macro_popup'>(panel_toplevel_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> <span class='string_literal'>"screen"</span>, screen,</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> panel_toplevel_set_settings_path (toplevel, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> toplevel-&gt;settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel"</span></span>, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> toplevel-&gt;queued_settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel"</span></span>, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel_background_path = g_strdup_printf (<span class='string_literal'>"%sbackground/"</span>, toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> toplevel-&gt;background_settings = g_settings_new_with_path (<span class='macro'>PANEL_TOPLEVEL_BACKGROUND_SCHEMA<span class='macro_popup'>"org.mate.panel.toplevel.background"</span></span>, toplevel_background_path);</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"><span class='directive'>#define <span class='macro'>GET_INT(k, fn)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, k<br>); panel_toplevel_set_fn (toplevel, val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> <span class='directive'>int val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='directive'>val = g_settings_get_int (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"><span class='directive'>#define <span class='macro'>GET_BOOL(k, fn)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, k); panel_toplevel_set_fn (toplevel, val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> <span class='directive'>gboolean val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='directive'>val = g_settings_get_boolean (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='directive'>#define <span class='macro'>GET_STRING(k, fn)<span class='macro_popup'>{ char *val; val = g_settings_get_string (toplevel-&gt;settings<br>, k); panel_toplevel_set_fn (toplevel, val); g_free (val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='directive'>char *val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='directive'>val = g_settings_get_string (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='directive'>g_free (val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"><span class='directive'>#define <span class='macro'>GET_ENUM(k, fn)<span class='macro_popup'>{ int val; val = g_settings_get_enum (toplevel-&gt;settings, k<br>); panel_toplevel_set_fn (toplevel, val); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> <span class='directive'>int val; \</span></td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='directive'>val = g_settings_get_enum (toplevel-&gt;settings, k); \</span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, val); \</span></td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='macro'>GET_STRING (<span class='string_literal'>"name"</span>, name)<span class='macro_popup'>{ char *val; val = g_settings_get_string (toplevel-&gt;settings<br>, "name"); panel_toplevel_set_name (toplevel, val); g_free (val<br>); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"monitor"</span>, monitor)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "monitor"<br>); panel_toplevel_set_monitor (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"expand"</span>, expand)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "expand"); panel_toplevel_set_expand (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='macro'>GET_ENUM (<span class='string_literal'>"orientation"</span>, orientation)<span class='macro_popup'>{ int val; val = g_settings_get_enum (toplevel-&gt;settings, "orientation"<br>); panel_toplevel_set_orientation (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"size"</span>, size)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "size"<br>); panel_toplevel_set_size (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"auto-hide"</span>, auto_hide)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "auto-hide"); panel_toplevel_set_auto_hide (toplevel, val);<br> }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"enable-animations"</span>, animate)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "enable-animations"); panel_toplevel_set_animate (toplevel,<br> val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"enable-buttons"</span>, enable_buttons)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "enable-buttons"); panel_toplevel_set_enable_buttons (toplevel<br>, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> <span class='macro'>GET_BOOL (<span class='string_literal'>"enable-arrows"</span>, enable_arrows)<span class='macro_popup'>{ gboolean val; val = g_settings_get_boolean (toplevel-&gt;settings<br>, "enable-arrows"); panel_toplevel_set_enable_arrows (toplevel<br>, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"hide-delay"</span>, hide_delay)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "hide-delay"<br>); panel_toplevel_set_hide_delay (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"unhide-delay"</span>, unhide_delay)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "unhide-delay"<br>); panel_toplevel_set_unhide_delay (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> <span class='macro'>GET_INT (<span class='string_literal'>"auto-hide-size"</span>, auto_hide_size)<span class='macro_popup'>{ int val; val = g_settings_get_int (toplevel-&gt;settings, "auto-hide-size"<br>); panel_toplevel_set_auto_hide_size (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='macro'>GET_ENUM (<span class='string_literal'>"animation-speed"</span>, animation_speed)<span class='macro_popup'>{ int val; val = g_settings_get_enum (toplevel-&gt;settings, "animation-speed"<br>); panel_toplevel_set_animation_speed (toplevel, val); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"><span class='directive'>#define <span class='macro'>GET_POSITION(a, b, c, fn)<span class='macro_popup'>{ gboolean centered; int position; int position2; centered = g_settings_get_boolean<br> (toplevel-&gt;settings, c); position = g_settings_get_int (toplevel<br>-&gt;settings, a); position2 = g_settings_get_int (toplevel-&gt;<br>settings, b); panel_toplevel_set_fn (toplevel, position, position2<br>, centered); }</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> <span class='directive'>{ \</span></td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='directive'>gboolean centered; \</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='directive'>int position; \</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='directive'>int position2; \</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='directive'>centered = g_settings_get_boolean (toplevel-&gt;settings, c); \</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='directive'>position = g_settings_get_int (toplevel-&gt;settings, a); \</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='directive'>position2 = g_settings_get_int (toplevel-&gt;settings, b); \</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='directive'>panel_toplevel_set_##fn (toplevel, position, position2, centered); \</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='directive'>}</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> <span class='macro'>GET_POSITION (<span class='string_literal'>"x"</span>, <span class='string_literal'>"x-right"</span>, <span class='string_literal'>"x-centered"</span>, x)<span class='macro_popup'>{ gboolean centered; int position; int position2; centered = g_settings_get_boolean<br> (toplevel-&gt;settings, "x-centered"); position = g_settings_get_int<br> (toplevel-&gt;settings, "x"); position2 = g_settings_get_int<br> (toplevel-&gt;settings, "x-right"); panel_toplevel_set_x (toplevel<br>, position, position2, centered); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='macro'>GET_POSITION (<span class='string_literal'>"y"</span>, <span class='string_literal'>"y-bottom"</span>, <span class='string_literal'>"y-centered"</span>, y)<span class='macro_popup'>{ gboolean centered; int position; int position2; centered = g_settings_get_boolean<br> (toplevel-&gt;settings, "y-centered"); position = g_settings_get_int<br> (toplevel-&gt;settings, "y"); position2 = g_settings_get_int<br> (toplevel-&gt;settings, "y-bottom"); panel_toplevel_set_y (toplevel<br>, position, position2, centered); }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> panel_profile_load_background (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> panel_profile_set_toplevel_id (toplevel, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> panel_profile_connect_to_toplevel (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='macro'>g_signal_connect (toplevel-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='string_literal'><span class='macro'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_change_notify),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;settings), ("changed"), (<br>((GCallback) (panel_profile_toplevel_change_notify))), (toplevel<br>), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='macro'>g_signal_connect (toplevel-&gt;background_settings,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> <span class='string_literal'><span class='macro'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_background_change_notify),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;background_settings), ("changed"<br>), (((GCallback) (panel_profile_background_change_notify))), (<br>toplevel), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> g_free (toplevel_path);</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> g_free (toplevel_background_path);</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> panel_setup (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> <span class='keyword'>return</span> toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line">panel_profile_load_and_show_toplevel (<span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> gchar **objects;</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> gboolean loading_queued_applets;</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> toplevel = panel_profile_load_toplevel (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> <span class='keyword'>if</span> (!toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> loading_queued_applets = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> <span class='comment'>/* reload list of objects to get those that might be on the new</span></td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> <span class='comment'>* toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> GSettings *panel_settings;</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> panel_settings = g_settings_new (<span class='macro'>PANEL_SCHEMA<span class='macro_popup'>"org.mate.panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> objects = g_settings_get_strv (panel_settings, <span class='macro'>PANEL_OBJECT_ID_LIST_KEY<span class='macro_popup'>"object-id-list"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> <span class='keyword'>if</span> (objects) {</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> panel_profile_object_id_list_update (objects);</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> loading_queued_applets = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> <span class='keyword'>if</span> (!loading_queued_applets)</td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> mate_panel_applet_load_queued_applets (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> g_strfreev (objects);</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> g_object_unref (panel_settings);</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line">panel_profile_load_and_show_toplevel_startup (<span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id)</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> toplevel = panel_profile_load_toplevel (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='keyword'>if</span> (toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line">panel_profile_destroy_toplevel (<span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> <span class='keyword'>if</span> (!(toplevel = panel_profile_get_toplevel_by_id (id)))</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line">panel_profile_prepare_object_with_id (PanelObjectType object_type,</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> gboolean right_stick)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> PanelGSettingsKeyType key_type;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> <span class='keyword'>char</span> *settings_path;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> key_type = PANEL_GSETTINGS_OBJECTS;</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> id = panel_profile_find_new_id (key_type);</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> settings_path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, settings_path);</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> g_settings_set_enum (settings, <span class='macro'>PANEL_OBJECT_TYPE_KEY<span class='macro_popup'>"object-type"</span></span>, object_type);</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> g_settings_set_string (settings, <span class='macro'>PANEL_OBJECT_TOPLEVEL_ID_KEY<span class='macro_popup'>"toplevel-id"</span></span>, toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> g_settings_set_int (settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>, position);</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> g_settings_set_boolean (settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>, right_stick);</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='comment'>/* Force writing the settings in order to reserve the object ID *now*,</span></td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='comment'>* so that a later call to panel_profile_find_new_id() won't find the same</span></td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='comment'>* one. */</span></td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> g_settings_sync ();</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> g_free (settings_path);</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> <span class='keyword'>return</span> id;</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line">panel_profile_prepare_object (PanelObjectType object_type,</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='keyword'>int</span> position,</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> gboolean right_stick)</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> <span class='keyword'>return</span> panel_profile_prepare_object_with_id (object_type,</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> panel_profile_get_toplevel_id (toplevel),</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> position,</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> right_stick);</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line">panel_profile_delete_object (AppletInfo *applet_info)</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> PanelGSettingsKeyType type;</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> type = PANEL_GSETTINGS_OBJECTS;</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> id = mate_panel_applet_get_id (applet_info);</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> panel_profile_remove_from_list (type, id);</td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line">panel_profile_load_object (<span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> PanelObjectType object_type;</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>char</span> *toplevel_id;</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> position;</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> gboolean right_stick;</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> object_path = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> settings = g_settings_new_with_path (<span class='macro'>PANEL_OBJECT_SCHEMA<span class='macro_popup'>"org.mate.panel.object"</span></span>, object_path);</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> object_type = g_settings_get_enum (settings, <span class='macro'>PANEL_OBJECT_TYPE_KEY<span class='macro_popup'>"object-type"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> position = g_settings_get_int (settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> toplevel_id = g_settings_get_string (settings, <span class='macro'>PANEL_OBJECT_TOPLEVEL_ID_KEY<span class='macro_popup'>"toplevel-id"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> right_stick = g_settings_get_boolean (settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> locked = g_settings_get_boolean (settings, <span class='macro'>PANEL_OBJECT_LOCKED_KEY<span class='macro_popup'>"locked"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> mate_panel_applet_queue_applet_to_load (id,</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> object_type,</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> position,</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> right_stick,</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> locked);</td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> g_free (toplevel_id);</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> g_free (object_path);</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line">panel_profile_destroy_object (<span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> info = mate_panel_applet_get_by_id (id);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> mate_panel_applet_clean (info);</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line">panel_profile_delete_dir (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> gchar *dir = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_TOPLEVELS:</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> dir = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='keyword'>case</span> PANEL_GSETTINGS_OBJECTS:</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> dir = g_strdup_printf (<span class='macro'>PANEL_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/objects/"</span></span> <span class='string_literal'>"%s/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-profile.c"<br>, 1345, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_TOPLEVELS) {</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> gchar *subdir;</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> subdir = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/background/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> mate_dconf_recursive_reset (subdir, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> g_free (subdir);</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (type == PANEL_GSETTINGS_OBJECTS) {</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> gchar *subdir;</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> subdir = g_strdup_printf (<span class='macro'>PANEL_TOPLEVEL_PATH<span class='macro_popup'>"/org/mate/panel/toplevels/"</span></span> <span class='string_literal'>"%s/prefs/"</span>, id);</td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> mate_dconf_recursive_reset (subdir, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> unregister_dconf_editor_relocatable_schema (subdir);</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> g_free (subdir);</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> <span class='keyword'>if</span> (dir != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> mate_dconf_recursive_reset (dir, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> g_free (dir);</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line">panel_profile_object_exists (GSList *list,</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id,</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> PanelProfileGetIdFunc get_id_func)</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>if</span> (!list || !id)</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> <span class='keyword'>for</span> (l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *check_id;</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> check_id = get_id_func (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> <span class='macro'>g_assert (check_id != NULL)<span class='macro_popup'>do { if (check_id != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-profile.c", 1383, ((const char*) (__func__<br>)), "check_id != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='keyword'>if</span> (!strcmp (check_id, id))</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line">panel_profile_id_exists (GSList *id_list,</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id)</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> <span class='keyword'>if</span> (!id_list || !id)</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> <span class='keyword'>for</span> (l = id_list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *check_id = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> <span class='keyword'>if</span> (!strcmp (id, check_id))</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line">panel_profile_load_added_ids (GSList *list,</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> GSList *id_list,</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> PanelProfileGetIdFunc get_id_func,</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> PanelProfileLoadFunc load_handler,</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> PanelProfileOnLoadQueue on_load_queue)</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"> GSList *added_ids = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> <span class='keyword'>for</span> (l = id_list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> <span class='keyword'>if</span> (!panel_profile_object_exists (list, id, get_id_func) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> (on_load_queue == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || !on_load_queue (id)))</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> added_ids = g_slist_prepend (added_ids, <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> <span class='keyword'>for</span> (l = added_ids; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> id = (<span class='keyword'>char</span> *) l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>if</span> (id &amp;&amp; id[0])</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> load_handler (id);</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;l-&gt;data, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;l-&gt;data) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;l-&gt;<br>data)) _pp = (&amp;l-&gt;data); __typeof__ (*(&amp;l-&gt;data<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> g_slist_free (added_ids);</td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line">panel_profile_delete_removed_ids (PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> GSList *list,</td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> GSList *id_list,</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> PanelProfileGetIdFunc get_id_func,</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> PanelProfileDestroyFunc destroy_handler)</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> GSList *removed_ids = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> <span class='keyword'>for</span> (l = list; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> id = get_id_func (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> <span class='keyword'>if</span> (!panel_profile_id_exists (id_list, id))</td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> removed_ids = g_slist_prepend (removed_ids, <span class='macro'>g_strdup (id)<span class='macro_popup'>g_strdup_inline (id)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> <span class='keyword'>for</span> (l = removed_ids; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> panel_profile_delete_dir (type, id);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> destroy_handler (id);</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;l-&gt;data, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;l-&gt;data) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;l-&gt;<br>data)) _pp = (&amp;l-&gt;data); __typeof__ (*(&amp;l-&gt;data<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> g_slist_free (removed_ids);</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line">load_default_layout_idle (gpointer unused) {</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> <span class='keyword'>if</span> (g_slist_length (panel_toplevel_list_toplevels ()) != 0) {</td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='comment'>/* some toplevels are not destroyed yet, waiting */</span></td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> <span class='comment'>/* load the default layout and stop this handler */</span></td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> panel_profile_ensure_toplevel_per_screen ();</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line">panel_profile_toplevel_id_list_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> GSList *l, *existing_toplevels;</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> GSList *toplevel_ids;</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> gchar **toplevel_ids_strv;</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> toplevel_ids_strv = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> toplevel_ids = mate_gsettings_strv_to_gslist ((<span class='keyword'>const</span> gchar **) toplevel_ids_strv);</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> toplevel_ids = panel_g_slist_make_unique (toplevel_ids,</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> (GCompareFunc) g_strcmp0,</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> g_strfreev (toplevel_ids_strv);</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> existing_toplevels = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> <span class='keyword'>for</span> (l = panel_toplevel_list_toplevels (); l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> PanelToplevel *toplevel = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> <span class='comment'>/* Attached toplevels aren't on the id list */</span></td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> existing_toplevels = g_slist_prepend (existing_toplevels, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> panel_profile_load_added_ids (existing_toplevels,</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> toplevel_ids,</td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> (PanelProfileGetIdFunc) panel_profile_get_toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> (PanelProfileLoadFunc) panel_profile_load_and_show_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> (PanelProfileOnLoadQueue) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> panel_profile_delete_removed_ids (PANEL_GSETTINGS_TOPLEVELS,</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> existing_toplevels,</td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> toplevel_ids,</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> (PanelProfileGetIdFunc) panel_profile_get_toplevel_id,</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> (PanelProfileDestroyFunc) panel_profile_destroy_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> <span class='comment'>/* if there are no panels, reset layout to default */</span></td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line"> <span class='keyword'>if</span> (g_slist_length (toplevel_ids) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> g_idle_add (load_default_layout_idle, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line"> g_slist_free (existing_toplevels);</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> g_slist_free_full (toplevel_ids, g_free);</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line">panel_profile_object_id_list_update (gchar **objects)</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> GSList *existing_applets;</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> GSList *sublist = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, *l;</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> GSList *object_ids;</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> object_ids = mate_gsettings_strv_to_gslist ((<span class='keyword'>const</span> gchar **) objects);</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> object_ids = panel_g_slist_make_unique (object_ids,</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> (GCompareFunc) g_strcmp0,</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> existing_applets = mate_panel_applet_list_applets ();</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>for</span> (l = existing_applets; l; l = l-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> AppletInfo *info = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> sublist = g_slist_prepend (sublist, info);</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> panel_profile_load_added_ids (sublist,</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> object_ids,</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> (PanelProfileGetIdFunc) mate_panel_applet_get_id,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> (PanelProfileLoadFunc) panel_profile_load_object,</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> (PanelProfileOnLoadQueue) mate_panel_applet_on_load_queue);</td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> panel_profile_delete_removed_ids (PANEL_GSETTINGS_OBJECTS,</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> sublist,</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> object_ids,</td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> (PanelProfileGetIdFunc) mate_panel_applet_get_id,</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> (PanelProfileDestroyFunc) panel_profile_destroy_object);</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> g_slist_free (sublist);</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> g_slist_free_full (object_ids, g_free);</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> mate_panel_applet_load_queued_applets (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line">panel_profile_object_id_list_notify (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> gchar *key,</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> gchar **objects;</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> objects = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> panel_profile_object_id_list_update (objects);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> g_strfreev (objects);</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line">panel_profile_load_list (GSettings *settings,</td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line"> PanelGSettingsKeyType type,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> PanelProfileLoadFunc load_handler,</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"> GCallback notify_handler)</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> <span class='keyword'>const</span> gchar *key = key_from_type (type);</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> gchar *changed_signal;</td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> gchar **list;</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> changed_signal = g_strdup_printf (<span class='string_literal'>"changed::%s"</span>, key);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_signal_connect (settings, changed_signal, G_CALLBACK (notify_handler), NULL)<span class='macro_popup'>g_signal_connect_data ((settings), (changed_signal), (((GCallback<br>) (notify_handler))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> g_free (changed_signal);</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> list = g_settings_get_strv (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='keyword'>if</span> (list) {</td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"> <span class='keyword'>for</span> (gint i = 0; list[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> load_handler (list[i]);</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> g_strfreev (list);</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line">panel_profile_ensure_toplevel_per_screen ()</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> GSList *toplevels;</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> GSList *empty_screens = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> GSList *l;</td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> toplevels = panel_toplevel_list_toplevels ();</td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> screen = gdk_display_get_default_screen (display);</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>for</span> (l = toplevels; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>if</span> (gtk_window_get_screen (l-&gt;data) == screen)</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> <span class='keyword'>if</span> (!l)</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> empty_screens = g_slist_prepend (empty_screens, screen);</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>for</span> (l = empty_screens; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> panel_layout_apply_default_from_gkeyfile (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> g_slist_free (empty_screens);</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line">panel_profile_settings_load (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> profile_settings = g_settings_new (<span class='string_literal'>"org.mate.panel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line">panel_profile_load (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> panel_profile_settings_load();</td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> panel_profile_load_list (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> PANEL_GSETTINGS_TOPLEVELS,</td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> (PanelProfileLoadFunc)panel_profile_load_and_show_toplevel_startup,</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_toplevel_id_list_notify)<span class='macro_popup'>((GCallback) (panel_profile_toplevel_id_list_notify))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> panel_profile_load_list (profile_settings,</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> PANEL_GSETTINGS_OBJECTS,</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> (PanelProfileLoadFunc)panel_profile_load_object,</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='macro'>G_CALLBACK (panel_profile_object_id_list_notify)<span class='macro_popup'>((GCallback) (panel_profile_object_id_list_notify))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> panel_profile_ensure_toplevel_per_screen ();</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> mate_panel_applet_load_queued_applets (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line">get_program_listing_setting (<span class='keyword'>const</span> <span class='keyword'>char</span> *key)</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> retval = g_settings_get_boolean (profile_settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line">panel_profile_get_show_program_list (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>return</span> get_program_listing_setting (<span class='string_literal'>"show-program-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line">panel_profile_get_enable_program_list (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>return</span> get_program_listing_setting (<span class='string_literal'>"enable-program-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line">panel_profile_get_enable_autocompletion (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>return</span> get_program_listing_setting (<span class='string_literal'>"enable-autocompletion"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line">panel_profile_set_show_program_list (gboolean show_program_list)</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> g_settings_set_boolean (profile_settings, <span class='string_literal'>"show-program-list"</span>, show_program_list);</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line">panel_profile_is_writable_show_program_list (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>return</span> g_settings_is_writable (profile_settings, <span class='string_literal'>"show-program-list"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line">panel_profile_can_be_moved_freely (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down () ||</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> !g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_ORIENTATION_KEY<span class='macro_popup'>"orientation"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_SCREEN_KEY<span class='macro_popup'>"screen"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_MONITOR_KEY<span class='macro_popup'>"monitor"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> <span class='comment'>/* For expanded panels we don't really have to check</span></td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='comment'>x and y */</span></td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_expand (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_X_KEY<span class='macro_popup'>"x"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_X_RIGHT_KEY<span class='macro_popup'>"x-right"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_X_CENTERED_KEY<span class='macro_popup'>"x-centered"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_Y_KEY<span class='macro_popup'>"y"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_Y_BOTTOM_KEY<span class='macro_popup'>"y-bottom"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> <span class='keyword'>if</span> (!g_settings_is_writable (toplevel-&gt;settings, <span class='macro'>PANEL_TOPLEVEL_Y_CENTERED_KEY<span class='macro_popup'>"y-centered"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-890f6c.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-890f6c.html
new file mode 100644
index 00000000..e1ca235e
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-890f6c.html
@@ -0,0 +1,6243 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-toplevel.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Value stored to 'orientation' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-toplevel.c -->
+
+<!-- FILENAME panel-toplevel.c -->
+
+<!-- FUNCTIONNAME panel_toplevel_update_attach_orientation -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 890f6c7c19aade835be1332664ae9fff -->
+
+<!-- BUGLINE 2554 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-toplevel.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 2554, column 2</a><br />Value stored to 'orientation' is never read</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-toplevel.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-toplevel.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"2554": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* panel-toplevel.c: The panel's toplevel window object.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2004 Rob Adams</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-frame.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-a11y.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-typebuiltins.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "panel-bindings.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "panel-config-global.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#include "xstuff.h"</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#include "panel-xutils.h"</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='directive'>#include "panel-struts.h"</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='directive'>#include "wayland-backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span> 48</span></td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> 1</span></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span> 300</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> 8</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#define <span class='macro'>MINIMUM_WIDTH<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"><span class='directive'>#define <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#define <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span> 6</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span> 20</span></td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"><span class='directive'>#define <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span> 10</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> PANEL_GRAB_OP_NONE,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> PANEL_GRAB_OP_MOVE,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> PANEL_GRAB_OP_RESIZE,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> PANEL_GRAB_OP_RESIZE_UP,</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> PANEL_GRAB_OP_RESIZE_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> PANEL_GRAB_OP_RESIZE_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> PANEL_GRAB_OP_RESIZE_RIGHT</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} PanelGrabOpType;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>struct</span> _PanelToplevelPrivate {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> gchar *settings_path;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> gboolean expand;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>int</span> x;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>int</span> y;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='comment'>/* relative to the bottom right corner, -1 to ignore and use x, y*/</span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='comment'>/* this is used when the configured monitor is missing. We keep it so</span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> <span class='comment'>* we can move the toplevel to the right monitor when it becomes</span></td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='comment'>* available */</span></td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='keyword'>int</span> configured_monitor;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>int</span> hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>int</span> unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> PanelAnimationSpeed animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> GtkSettings *gtk_settings;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> PanelState state;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> guint hide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> guint unhide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>int</span> original_width;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>int</span> original_height;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='comment'>/* The offset within the panel from which the panel</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='comment'>* drag was initiated relative to the screen origin.</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>int</span> drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>int</span> drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='comment'>/* Saved state before for cancelled grab op */</span></td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>int</span> orig_monitor;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> orig_x;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>int</span> orig_y;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>int</span> orig_x_right;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>int</span> orig_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>int</span> orig_size;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>int</span> orig_orientation;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>int</span> animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>int</span> animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>int</span> animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>int</span> animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> gint64 animation_start_time; <span class='comment'>/* monotonic start time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> GTimeSpan animation_duration_time; <span class='comment'>/* monotonic duration time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> guint animation_timeout;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> PanelFrame *inner_frame;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> GtkWidget *grid;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GtkWidget *hide_button_top;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> GtkWidget *hide_button_bottom;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> GtkWidget *hide_button_left;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> GtkWidget *hide_button_right;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> PanelToplevel *attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> gulong attach_toplevel_signals [<span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> GtkWidget *attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> gulong attach_widget_signals [<span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> gint n_autohide_disablers;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> guint auto_hide : 1;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> guint animate : 1;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> guint buttons_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> guint arrows_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* The co-ordinates are relative to center screen */</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> guint x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> guint y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> <span class='comment'>/* The panel is not lined up with th screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> guint floating : 1;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='comment'>/* We are currently animating a hide/show */</span></td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> guint animating : 1;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='comment'>/* This is a keyboard initiated grab operation */</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> guint grab_is_keyboard : 1;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='comment'>/* The x-y co-ordinates temporarily specify the panel center.</span></td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='comment'>* This is used when the panel is rotating, because the width/height</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='comment'>* of the toplevel might change, so we need to compute new values for</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='comment'>* those. */</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> guint position_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='comment'>/* The toplevel is "attached" to another widget */</span></td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> guint attached : 1;</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='comment'>/* Hidden temporarily because the attach_toplevel was hidden */</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> guint attach_hidden : 1;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='comment'>/* More saved grab op state */</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> guint orig_x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> guint orig_y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='comment'>/* flag to see if we have already done geometry updating,</span></td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='comment'>if not then we're still loading and can ignore many things */</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> guint updated_geometry_initial : 1;</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='comment'>/* flag to see if we have done the initial animation */</span></td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> guint initial_animation_done : 1;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> HIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> UNHIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> POPUP_PANEL_MENU_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> TOGGLE_EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> UNEXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> TOGGLE_HIDDEN_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> BEGIN_MOVE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> BEGIN_RESIZE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> PROP_ARROWS_ENABLED</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (PanelToplevel, panel_toplevel, GTK_TYPE_WINDOW)<span class='macro_popup'>static void panel_toplevel_init (PanelToplevel *self); static<br> void panel_toplevel_class_init (PanelToplevelClass *klass); static<br> GType panel_toplevel_get_type_once (void); static gpointer panel_toplevel_parent_class<br> = ((void*)0); static gint PanelToplevel_private_offset; static<br> void panel_toplevel_class_intern_init (gpointer klass) { panel_toplevel_parent_class<br> = g_type_class_peek_parent (klass); if (PanelToplevel_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;PanelToplevel_private_offset<br>); panel_toplevel_class_init ((PanelToplevelClass*) klass); }<br> __attribute__ ((__unused__)) static inline gpointer panel_toplevel_get_instance_private<br> (PanelToplevel *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (PanelToplevel_private_offset)))); } GType panel_toplevel_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = panel_toplevel_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType panel_toplevel_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_window_get_type ()), g_intern_static_string ("PanelToplevel"<br>), sizeof (PanelToplevelClass), (GClassInitFunc)(void (*)(void<br>)) panel_toplevel_class_intern_init, sizeof (PanelToplevel), (<br>GInstanceInitFunc)(void (*)(void)) panel_toplevel_init, (GTypeFlags<br>) 0); { {{ PanelToplevel_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (PanelToplevelPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='keyword'>static</span> guint toplevel_signals[LAST_SIGNAL] = {0};</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"><span class='keyword'>static</span> GSList* toplevel_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calculate_animation_end_geometry(PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_monitor(PanelToplevel* toplevel);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_set_monitor_internal(PanelToplevel* toplevel, <span class='keyword'>int</span> monitor, gboolean force_resize);</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line">update_style_classes (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='comment'>/*ensure the panel BG can always be themed*/</span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='comment'>/*Without this gtk3.19/20 cannot set the BG color and resetting the bg to system is not immediately applied*/</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 302, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">GSList* panel_toplevel_list_toplevels(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>return</span> toplevel_list;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"><span class='comment'>/* Is this the last un-attached toplevel? */</span></td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">gboolean panel_toplevel_is_last_unattached(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> GSList* l;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached(toplevel))</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='keyword'>for</span> (l = toplevel_list; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> PanelToplevel* t = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>if</span> (t != toplevel &amp;&amp; !panel_toplevel_get_is_attached(t))</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_get_monitor_geometry(PanelToplevel* toplevel, GdkRectangle *geom)</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='macro'>g_return_if_fail(PANEL_IS_TOPLEVEL(toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> <span class='macro'>g_return_if_fail(geom)<span class='macro_popup'>do { if ((geom)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "geom"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> geom-&gt;x = panel_multimonitor_x(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> geom-&gt;y = panel_multimonitor_y(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> geom-&gt;width = panel_multimonitor_width(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> geom-&gt;height = panel_multimonitor_height(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='keyword'>static</span> GdkCursorType panel_toplevel_grab_op_cursor(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> GdkCursorType retval = -1;</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> retval = GDK_CROSS;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> retval = GDK_FLEUR;</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> retval = GDK_TOP_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> retval = GDK_BOTTOM_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> retval = GDK_LEFT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> retval = GDK_RIGHT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 371, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_init_resize_drag_offsets(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='macro'>g_assert (GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel))))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 381<br>, ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y =</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x =</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 402, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_warp_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget)))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> x = y = 0;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> y = geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> x = geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 441, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_MOVE ||</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_RESIZE) {</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = x;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = y;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> panel_toplevel_init_resize_drag_offsets (toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> panel_warp_pointer (gtk_widget_get_window (widget), x, y);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_attached_move(PanelToplevel* toplevel, gboolean is_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> PanelWidget *attached_panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> attached_panel_widget = panel_toplevel_get_panel_widget (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> panel_widget_applet_drag_start (attached_panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> is_keyboard ? <span class='macro'>PW_DRAG_OFF_CENTER<span class='macro_popup'>-2</span></span> : <span class='macro'>PW_DRAG_OFF_CURSOR<span class='macro_popup'>-1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> time_);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_grab_op(PanelToplevel* toplevel, PanelGrabOpType op_type, gboolean grab_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> GdkCursorType cursor_type;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> GdkCursor *cursor;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> GdkSeatCapabilities capabilities;</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down ())</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='comment'>/* If any of the position/orientation are not writable,</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>then we can't really move freely */</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='keyword'>if</span> (op_type == PANEL_GRAB_OP_MOVE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> ! panel_profile_can_be_moved_freely (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>/* If size is not writable, then we can't resize */</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>if</span> ((op_type == PANEL_GRAB_OP_RESIZE ||</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_UP ||</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_RIGHT) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> ! panel_profile_key_is_writable (toplevel, <span class='macro'>PANEL_TOPLEVEL_SIZE_KEY<span class='macro_popup'>"size"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; op_type == PANEL_GRAB_OP_MOVE) {</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> panel_toplevel_begin_attached_move (toplevel, grab_keyboard, time_);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = op_type;</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = (grab_keyboard != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> toplevel-&gt;priv-&gt;orig_monitor = toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> toplevel-&gt;priv-&gt;orig_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> toplevel-&gt;priv-&gt;orig_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> toplevel-&gt;priv-&gt;orig_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> toplevel-&gt;priv-&gt;orig_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> gtk_grab_add (widget);</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard) {</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> panel_toplevel_warp_pointer (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> cursor_type = panel_toplevel_grab_op_cursor (</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> cursor = gdk_cursor_new_for_display (gdk_display_get_default (),</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> cursor_type);</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> capabilities = GDK_SEAT_CAPABILITY_POINTER;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='keyword'>if</span> (grab_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> capabilities |= GDK_SEAT_CAPABILITY_KEYBOARD;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> gdk_seat_grab (seat, window, capabilities, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, cursor,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> g_object_unref (cursor);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_end_grab_op (PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> gtk_grab_remove (widget);</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> display = gtk_widget_get_display (widget);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_cancel_grab_op(PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> panel_toplevel_set_orientation (toplevel, toplevel-&gt;priv-&gt;orig_orientation);</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> panel_toplevel_set_monitor (toplevel, toplevel-&gt;priv-&gt;orig_monitor);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> panel_toplevel_set_size (toplevel, toplevel-&gt;priv-&gt;orig_size);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> toplevel-&gt;priv-&gt;orig_x,</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right,</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> toplevel-&gt;priv-&gt;orig_y,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_resize_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> x, <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>int</span> new_x_right, new_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>int</span> new_x_centered, new_y_centered;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> new_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> new_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> new_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> new_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> new_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> new_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> new_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_y - y;</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> new_y -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> new_size = y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_x - x;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> new_x -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> new_size = x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 637, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>if</span> (new_size == 0)</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> panel_toplevel_set_x (toplevel, new_x, new_x_right, new_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> panel_toplevel_set_y (toplevel, new_y, new_y_bottom, new_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> panel_toplevel_set_size (toplevel, new_size);</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"><span class='comment'>/* this is called for expanded panels that are dragged around */</span></td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_new_orientation(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>int</span> hborder, vborder;</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='keyword'>int</span> monitor_width, monitor_height;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (pointer_x, pointer_y);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.height &lt; toplevel-&gt;priv-&gt;geometry.width)</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.height) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.width) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> new_x = pointer_x - panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> new_y = pointer_y - panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> monitor_width = panel_multimonitor_width (monitor);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> monitor_height = panel_multimonitor_height (monitor);</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &gt; hborder) {</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; (monitor_height - hborder)) {</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &gt; vborder) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; (monitor_width - vborder)) {</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 718, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> panel_toplevel_set_monitor (toplevel, monitor);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to(PanelToplevel* toplevel, <span class='keyword'>int</span> new_x, <span class='keyword'>int</span> new_y)</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> gboolean x_centered, y_centered;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> GdkPoint display_min, display_max;</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='keyword'>int</span> new_monitor;</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='keyword'>int</span> x, y, x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> panel_multimonitor_get_bounds (&amp;display_min, &amp;display_max);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> new_x = <span class='macro'>CLAMP (new_x, 0, display_max.x - width)<span class='macro_popup'>(((new_x) &gt; (display_max.x - width)) ? (display_max.x - width<br>) : (((new_x) &lt; (0)) ? (0) : (new_x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> new_y = <span class='macro'>CLAMP (new_y, 0, display_max.y - height)<span class='macro_popup'>(((new_y) &gt; (display_max.y - height)) ? (display_max.y - height<br>) : (((new_y) &lt; (0)) ? (0) : (new_y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= (display_min.x + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_x + width) &gt;= (display_max.x - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= (display_min.y + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_y + height) &gt;= (display_max.y - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> new_monitor = panel_multimonitor_get_monitor_at_point (new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> x = new_x - panel_multimonitor_x (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> y = new_y - panel_multimonitor_y (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= display_min.y + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> new_y + height &gt;= display_max.y - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> x_centered = abs (x - ((monitor_geom.width - width) / 2))</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= display_min.x + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> new_x + width &gt;= display_max.x - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> y_centered = abs (y - ((monitor_geom.height - height) / 2))</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>if</span> (x_centered)</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> x = (monitor_geom.width - width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='keyword'>if</span> (y_centered)</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> y = (monitor_geom.height - height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>if</span> (!x_centered &amp;&amp; (x + width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> x_right = monitor_geom.width - (x + width);</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='keyword'>if</span> (!y_centered &amp;&amp; (y + height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> y_bottom = monitor_geom.height - (y + height);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> panel_toplevel_set_monitor (toplevel, new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> panel_toplevel_set_x (toplevel, x, x_right, x_centered);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> panel_toplevel_set_y (toplevel, y, y_bottom, y_centered);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> new_x = pointer_x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> new_y = pointer_y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> panel_toplevel_move_to (toplevel, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_rotate_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> <span class='keyword'>int</span> x_diff, y_diff;</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> x_diff = pointer_x - (x + toplevel-&gt;priv-&gt;geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> y_diff = pointer_y - (y + toplevel-&gt;priv-&gt;geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>if</span> (((-y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> (( y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_RIGHT);</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> (( x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_BOTTOM);</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((( y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> ((-y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_LEFT);</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> (( x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_TOP);</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_warp_pointer_increment(PanelToplevel* toplevel, <span class='keyword'>int</span> keyval, <span class='keyword'>int</span> increment)</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> GdkWindow *root_window;</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_X11_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_x11_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_X11_SCREEN (screen)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> root_window = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> device = gdk_seat_get_pointer (gdk_display_get_default_seat (gtk_widget_get_display (<span class='macro'>GTK_WIDGET(root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>)));</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> gdk_window_get_device_position (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>), device, &amp;new_x, &amp;new_y, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> <span class='keyword'>switch</span> (keyval) {</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> new_y -= increment;</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> new_x -= increment;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> new_y += increment;</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> new_x += increment;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 884, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> panel_warp_pointer (root_window, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_floating(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"><span class='directive'>#define SMALL_INCREMENT 1</span></td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"><span class='directive'>#define NORMAL_INCREMENT 10</span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='keyword'>int</span> increment = NORMAL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_SHIFT_MASK)</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> increment = SMALL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_warp_pointer_increment (</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> toplevel, event-&gt;keyval, increment);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"><span class='directive'>#undef SMALL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"><span class='directive'>#undef NORMAL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_expanded(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 934, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_initial_resize_keypress(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_UP;</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 973, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, grab_op, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_key_event(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> retval = panel_toplevel_move_keyboard_expanded (</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> retval = panel_toplevel_move_keyboard_floating (</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> retval = panel_toplevel_initial_resize_keypress (toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> retval = panel_toplevel_warp_pointer_increment (toplevel, event-&gt;keyval, 1);</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1022, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Escape<span class='macro_popup'>0xff1b</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> panel_toplevel_cancel_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Return<span class='macro_popup'>0xff0d</span></span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Enter<span class='macro_popup'>0xff8d</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_space<span class='macro_popup'>0x020</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Space<span class='macro_popup'>0xff80</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='keyword'>default</span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_motion_event(PanelToplevel* toplevel, GdkEventMotion* event)</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> panel_toplevel_calc_new_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_CONTROL_MASK)</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> panel_toplevel_rotate_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> panel_toplevel_move_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> panel_toplevel_resize_to_pointer (toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_floating(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> GdkPoint position_on_monitor;</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> toplevel-&gt;priv-&gt;floating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> position_on_monitor.x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> position_on_monitor.x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> position_on_monitor.y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> position_on_monitor.y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> (position_on_monitor.y &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> (position_on_monitor.y &lt; (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> (position_on_monitor.x &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> (position_on_monitor.x &lt; (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"><span class='keyword'>void</span> panel_toplevel_push_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;n_autohide_disablers++)</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='keyword'>void</span> panel_toplevel_pop_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0))<br> { } else { g_return_if_fail_warning (((gchar*) 0), ((const char<br>*) (__func__)), "toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>if</span> (!--toplevel-&gt;priv-&gt;n_autohide_disablers)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_get_autohide_disabled(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0 ? <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span> : <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_hide_button_event(PanelToplevel* toplevel, GdkEventButton* event, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 1)</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='keyword'>return</span> gtk_widget_event (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_hide_button_clicked(PanelToplevel* toplevel, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> gboolean ltr;</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating ||</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> ltr = gtk_widget_get_direction (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>) == GTK_TEXT_DIR_LTR;</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL) {</td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> GtkDirectionType direction;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> direction = GTK_DIR_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> direction = ltr ? GTK_DIR_LEFT : GTK_DIR_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> direction = ltr ? GTK_DIR_RIGHT : GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1163, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, (gint) direction);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line">set_arrow_type (GtkImage *image,</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> GtkArrowType arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>switch</span> (arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_NONE:</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-down-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-up-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-start-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-end-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"><span class='keyword'>static</span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line">panel_toplevel_add_hide_button (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> GtkArrowType arrow_type,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> <span class='keyword'>int</span> left,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='keyword'>int</span> top)</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkWidget *button;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> AtkObject *obj;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> button = gtk_button_new ();</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> obj = gtk_widget_get_accessible (button);</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> atk_object_set_name (obj, <span class='macro'>_(<span class='string_literal'>"Hide Panel"</span>)<span class='macro_popup'>gettext ("Hide Panel")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> gtk_widget_set_can_default (button, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> arrow = gtk_image_new ();</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (button)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_container_get_type ()))))))</span></span>, arrow);</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> gtk_widget_show (arrow);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='string_literal'>"arrow-type"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_clicked), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-press-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-release-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, button, left, top, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='keyword'>return</span> button;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_buttons_showing(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='keyword'>switch</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1260, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"><span class='comment'>/* force set hide button size on panel size &lt; 30px */</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons_size (GtkWidget *button, <span class='keyword'>int</span> panel_size)</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> GtkCssProvider *css_provider;</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> GtkSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gchar *gtk_theme_name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> context = gtk_widget_get_style_context (button);</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"panel-button"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='comment'>/* get defaults from theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> settings = gtk_settings_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> g_object_get (settings, <span class='string_literal'>"gtk-theme-name"</span>, &amp;gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> css_provider = gtk_css_provider_get_named (gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> g_free (gtk_theme_name);</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> <span class='comment'>/* set custom css by adding our custom code to the default theme css</span></td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='comment'>* NOTE that contriary to the documentation:</span></td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='comment'>* https://developer.gnome.org/gtk3/stable/GtkCssProvider.html#gtk-css-provider-load-from-data</span></td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> <span class='comment'>* the previously loaded theme is NOT cleared from the css_provider. (reason unknown)</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='comment'>* In other words, this works exactly, how we need it here.</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='comment'>* ALSO NOTE that using gtk_css_provider_to_string () to convert the theme css data into a string</span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='comment'>* and then adding the custom css, then adding this updated css to a css_provider</span></td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='comment'>* with the gtk_css_provider_load_from_data () also works,</span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='comment'>* however some themes can't be easily converted to strings, beacuse of the binary data</span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='comment'>* they contain. This causes a delay of minutes in loading the mate-panel,</span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='comment'>* and so this approach is not viable. */</span></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 30) {</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> gtk_css_provider_load_from_data (css_provider, <span class='string_literal'>".panel-button {min-height: 13px; min-width: 13px; padding: 0px;}"</span>, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> gtk_style_context_add_provider (context, <span class='macro'>GTK_STYLE_PROVIDER (css_provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((css_provider)), ((gtk_style_provider_get_type<br> ()))))))</span></span>, <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='comment'>/* get arrow image */</span></td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> arrow = gtk_bin_get_child (<span class='macro'>GTK_BIN (button)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_bin_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> <span class='comment'>/* set image size */</span></td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20) {</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 12);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40) {</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 16);</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60) {</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 22);</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 24);</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>int</span> panel_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> panel_toplevel_update_buttons_showing (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_top, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_left, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_right, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), (((GType) ((20)<br> &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), (((GType) ((<br>20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='comment'>/* set size after setting the arrow */</span></td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> <span class='keyword'>int</span> hb_size;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20)</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> hb_size = 16;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40)</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> hb_size = 20;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60)</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> hb_size = 26;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> hb_size = 30;</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_top, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_left, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_right, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_contains_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> GdkDevice *pointer;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> pointer = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> screen = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> x = y = -1;</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> gdk_device_get_position (pointer, &amp;screen, &amp;x, &amp;y);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>if</span> (screen != gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>if</span> (x == -1 || y == -1)</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> <span class='keyword'>if</span> (x &lt; toplevel-&gt;priv-&gt;geometry.x || x &gt;= (toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width) ||</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> y &lt; toplevel-&gt;priv-&gt;geometry.y || y &gt;= (toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height))</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> <span class='keyword'>int</span> panel_toplevel_get_effective_auto_hide_size(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_height / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_width / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> <span class='comment'>/* paranoia */</span></td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> <span class='keyword'>return</span> (size &lt;= 0) ? <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> : size;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_update_struts(PanelToplevel* toplevel, gboolean end_of_animation)</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> gboolean geometry_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>int</span> strut, strut_start, strut_end;</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;updated_geometry_initial)</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span> &amp;&amp; toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> <span class='comment'>/* In the case of the initial animation, we really want the struts to</span></td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> <span class='comment'>* represent what is at the end of the animation, to avoid desktop</span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='comment'>* icons jumping around. */</span></td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> end_of_animation = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='comment'>/* We've not started the animation yet, so we have to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> <span class='comment'>* where we want to end. Note that we don't want to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='comment'>* this everytime, since the struts conflict resolution will be</span></td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> <span class='comment'>* overridden if we do so */</span></td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> <span class='keyword'>if</span> (end_of_animation) {</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> x = toplevel-&gt;priv-&gt;animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> y = toplevel-&gt;priv-&gt;animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> width = toplevel-&gt;priv-&gt;animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> height = toplevel-&gt;priv-&gt;animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> strut = strut_start = strut_end = 0;</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> <span class='keyword'>if</span> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> <span class='keyword'>if</span> (y &lt;= monitor_geom.y) {</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> strut = y + height - monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (y &gt;= monitor_geom.y + monitor_geom.height - height) {</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> strut = monitor_geom.y + monitor_geom.height - y;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> strut_start = <span class='macro'>MAX (x, monitor_geom.x)<span class='macro_popup'>(((x) &gt; (monitor_geom.x)) ? (x) : (monitor_geom.x))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> strut_end = <span class='macro'>MIN (x + width, monitor_geom.x + monitor_geom.width)<span class='macro_popup'>(((x + width) &lt; (monitor_geom.x + monitor_geom.width)) ? (<br>x + width) : (monitor_geom.x + monitor_geom.width))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>if</span> (x &lt;= monitor_geom.x) {</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> strut = x + width - monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (x &gt;= monitor_geom.x + monitor_geom.width - width) {</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> strut = monitor_geom.x + monitor_geom.width - x;</td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> strut_start = <span class='macro'>MAX (y, monitor_geom.y)<span class='macro_popup'>(((y) &gt; (monitor_geom.y)) ? (y) : (monitor_geom.y))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> strut_end = <span class='macro'>MIN (y + height, monitor_geom.y + monitor_geom.height)<span class='macro_popup'>(((y + height) &lt; (monitor_geom.y + monitor_geom.height)) ?<br> (y + height) : (monitor_geom.y + monitor_geom.height))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> <span class='keyword'>if</span> (orientation != toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; strut &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> strut = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> screen = gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> geometry_changed = panel_struts_register_strut (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> screen,</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> toplevel-&gt;priv-&gt;monitor,</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> orientation,</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> strut,</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> strut_start,</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> strut_end);</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN ||</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> panel_struts_unset_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> <span class='keyword'>return</span> geometry_changed;</td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"><span class='keyword'>void</span> panel_toplevel_update_edges(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> PanelFrameEdge inner_edges;</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"> PanelFrameEdge outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> gboolean inner_frame = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"> <span class='comment'>/* We don't want any bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> edges |= PANEL_EDGE_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> edges |= PANEL_EDGE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &lt; (monitor_geom.height - height))</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> edges |= PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &lt; (monitor_geom.width - width))</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> edges |= PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> <span class='comment'>/* There is a conflict in the position algorithm when a</span></td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> <span class='comment'>* non-expanded centered panel is nearly the size of the</span></td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='comment'>* screen. This is similar to the one we have in</span></td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"> <span class='comment'>* panel_toplevel_update_position(). A simple solution is</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> <span class='comment'>* to keep the bevels in this case. */</span></td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_left) ||</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_right)) {</td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_top) ||</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_bottom)) {</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>if</span> (!inner_frame) {</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> inner_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> outer_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> inner_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> outer_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> panel_frame_set_edges (toplevel-&gt;priv-&gt;inner_frame, inner_edges);</td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges != outer_edges) {</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> toplevel-&gt;priv-&gt;edges = outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_construct_description(PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Drawer"</span>)<span class='macro_popup'>gettext ("Drawer")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> <span class='comment'>/* translators: these string will be shown in MetaCity's switch window</span></td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> <span class='comment'>* popup when you pass the focus to a panel */</span></td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Bottom Panel"</span>)<span class='macro_popup'>gettext ("Bottom Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Left Panel"</span>)<span class='macro_popup'>gettext ("Left Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Right Panel"</span>)<span class='macro_popup'>gettext ("Right Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1655, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> description = panel_toplevel_construct_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;description, description))</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description)</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_free (toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>g_strdup (description)<span class='macro_popup'>g_strdup_inline (description)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name)</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name :</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> toplevel-&gt;priv-&gt;description,</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_attached_position(PanelToplevel* toplevel, gboolean hidden, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> GtkAllocation attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> GdkRectangle toplevel_box;</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> GdkRectangle parent_box;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> GdkRectangle attach_box;</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> <span class='keyword'>int</span> x_origin = 0, y_origin = 0;</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_widget_get_type<br> ()))))))</span></span>) ||</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> !gtk_widget_get_realized (toplevel-&gt;priv-&gt;attach_widget))</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> gtk_widget_get_allocation (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>, &amp;attach_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> toplevel_box = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> parent_box = toplevel-&gt;priv-&gt;attach_toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> attach_box = attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> <span class='keyword'>if</span> (attach_box.x != -1) {</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> &amp;x_origin, &amp;y_origin);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> attach_box.x += x_origin;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> attach_box.y += y_origin;</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> <span class='comment'>/* attach_widget isn't allocated. Put the toplevel</span></td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='comment'>* off screen.</span></td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> attach_box.x = -toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> attach_box.y = -toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> attach_orientation = panel_toplevel_get_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> <span class='keyword'>if</span> (attach_orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> *x = attach_box.x + attach_box.width / 2 - toplevel_box.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> *y = attach_box.y + attach_box.height / 2 - toplevel_box.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> *y += parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> *y -= toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> *x += parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> *x -= toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1756, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> *x -= monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> *y -= monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - toplevel-&gt;priv-&gt;original_width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>)) ? (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - toplevel-&gt;priv-&gt;original_height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>)) ? (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_normal_position(PanelToplevel* toplevel, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1777, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - width)) ? (monitor_geom.width<br> - width) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - height)) ? (monitor_geom.height<br> - height) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line">panel_toplevel_update_auto_hide_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> <span class='keyword'>int</span> *h,</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> gboolean for_end_position)</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1825, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;floating) {</td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> panel_toplevel_update_normal_position (toplevel, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='comment'>/* For the initial animation, we animate from outside the screen, and</span></td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> <span class='comment'>* so we don't want the toplevel to be visible at all. But when the</span></td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line"> <span class='comment'>* request is for the end position, then we give the real result (it's</span></td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> <span class='comment'>* useful for struts) */</span></td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"> <span class='keyword'>if</span> (for_end_position || toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line"> auto_hide_size = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> auto_hide_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> *y = - (height - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> *y = monitor_geom.height - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> *x = - (width - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> *x = monitor_geom.width - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1862, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> } <span class='keyword'>else</span> <span class='comment'>/* if (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK) */</span> {</td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='comment'>/* FIXME: this is wrong for Xinerama. In the Xinerama case</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line"> <span class='comment'>* I think if hiding it requires it to go onto the</span></td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line"> <span class='comment'>* next monitor then it should just move it on to</span></td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> <span class='comment'>* the next monitor and set its state back to normal</span></td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line">panel_toplevel_update_hidden_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> <span class='keyword'>int</span> *h)</td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> <span class='keyword'>int</span> min_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> GtkAllocation hide_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1904, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line"> <span class='comment'>/* FIXME should find a better default */</span></td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> min_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_bottom,</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> *y = - (height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_top,</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> *y = monitor_geom.height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_right,</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"> *x = - (width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_left,</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> *x = monitor_geom.width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1946, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> <span class='comment'>* This is "almost" like the double sine movement</span></td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> <span class='comment'>* from the original panel except that it uses</span></td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='comment'>* a cubic (twice again). I suppose it looks less</span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='comment'>* mathematical now :) -- _v_</span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line">get_delta (<span class='keyword'>int</span> src,</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> <span class='keyword'>int</span> dest,</td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"> GTimeSpan elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> GTimeSpan duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> <span class='keyword'>double</span> x, percentage;</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>if</span> (abs (dest - src) &lt;= 1 || elapsed_time &gt;= duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line"> <span class='keyword'>return</span> dest - src;</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"> <span class='comment'>/* The cubic is: p(x) = (-2) x^2 (x-1.5) */</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line"> <span class='comment'>/* running p(p(x)) to make it more "pronounced",</span></td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line"> <span class='comment'>* effectively making it a ninth-degree polynomial */</span></td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> x = (<span class='keyword'>double</span>)elapsed_time/duration_time;</td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> x = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>/* run it again */</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> percentage = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> percentage = <span class='macro'>CLAMP (percentage, 0.0, 1.0)<span class='macro_popup'>(((percentage) &gt; (1.0)) ? (1.0) : (((percentage) &lt; (0.0<br>)) ? (0.0) : (percentage)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line"> <span class='keyword'>return</span> ((dest - src) * percentage);</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">panel_toplevel_update_animating_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GTimeSpan animation_elapsed_time;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> <span class='keyword'>int</span> monitor_offset_x, monitor_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;animation_start_time &lt;= 0) ||</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> (toplevel-&gt;priv-&gt;animation_duration_time &lt;= 0))</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> animation_elapsed_time = g_get_monotonic_time () - toplevel-&gt;priv-&gt;animation_start_time;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> monitor_offset_x = panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> monitor_offset_y = panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> deltaw = get_delta (toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> deltah = get_delta (toplevel-&gt;priv-&gt;geometry.height,</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> deltax = get_delta (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> deltay = get_delta (toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='keyword'>if</span> (deltaw != 0 &amp;&amp; abs (deltaw) &gt; abs (deltax))</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> deltax = deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> <span class='keyword'>if</span> (deltah != 0 &amp;&amp; abs (deltah) &gt; abs (deltay))</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> deltay = deltah;</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x += deltax;</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y += deltay;</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width += deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height += deltah;</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x == toplevel-&gt;priv-&gt;animation_end_x &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y == toplevel-&gt;priv-&gt;animation_end_y) {</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='comment'>/* Note: it's important to set initial_animation_done to TRUE</span></td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='comment'>* as soon as possible (hence, here) since we don't want to</span></td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> <span class='comment'>* have a wrong value in a size request event */</span></td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; panel_toplevel_get_is_hidden (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> gtk_widget_unmap (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line">panel_toplevel_update_expanded_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> <span class='keyword'>int</span> x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> x = -1;</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> y = -1;</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> y = monitor_geom.y + monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> y_bottom = 0;</td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> x = monitor_geom.x + monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> x_right = 0;</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2087, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (x, y);</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> x -= panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> y -= panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x_right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y_bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line">panel_toplevel_update_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='keyword'>int</span> w, h;</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> panel_toplevel_update_animating_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;position_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> toplevel-&gt;priv-&gt;x -= toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> x_right = monitor_geom.width - (toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line"> <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line"> toplevel-&gt;priv-&gt;y -= toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> y_bottom = monitor_geom.height - (toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> panel_toplevel_update_expanded_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> panel_toplevel_calc_floating (toplevel); <span class='comment'>/* FIXME should probably be done after panel_toplevel_update_normal_position() too */</span></td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line"> y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> w = h = -1;</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> panel_toplevel_update_normal_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> panel_toplevel_update_hidden_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> <span class='keyword'>if</span> (w != -1)</td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = w;</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> <span class='keyword'>if</span> (h != -1)</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = h;</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"> <span class='comment'>/* This is some kind of snap: there's a possibility of an infinite loop</span></td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line"> <span class='comment'>* because of the bevels of the frame that are set in</span></td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='comment'>* panel_toplevel_update_edges(). The bevels change the width/height of</span></td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='comment'>* the toplevel. The typical loop is:</span></td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='comment'>* x = 1 =&gt; outer bevel =&gt; x = 0 =&gt; no outer bevel = &gt; x = 1 =&gt; ...</span></td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='comment'>* FIXME: maybe the real bug is that we enter into this loop (see bug</span></td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> <span class='comment'>* #160748 to learn how to reproduce.) */</span></td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> background = &amp;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> <span class='comment'>/* There's no bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> <span class='keyword'>if</span> (panel_background_effective_type (background) == PANEL_BACK_NONE) {</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> GdkRectangle *geometry;</td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> <span class='keyword'>int</span> max_size;</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> state = gtk_widget_get_state_flags (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> geometry = &amp;toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> <span class='keyword'>if</span> (x &lt;= padding.left &amp;&amp; x &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> <span class='keyword'>if</span> (y &lt;= padding.top &amp;&amp; y &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> max_size = monitor_geom.width - geometry-&gt;width - padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> <span class='keyword'>if</span> (x + padding.left &gt;= max_size &amp;&amp; x &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> x = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> max_size = monitor_geom.height - geometry-&gt;height - padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> <span class='keyword'>if</span> (y + padding.top &gt;= max_size &amp;&amp; y &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> y = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = x;</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = y;</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line">calculate_minimum_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> GtkStyleContext *style_context;</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> PangoFontDescription *font_desc;</td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> PangoContext *pango_context;</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> PangoFontMetrics *metrics;</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> <span class='keyword'>int</span> ascent;</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> <span class='keyword'>int</span> descent;</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> <span class='keyword'>int</span> thickness;</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> style_context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> gtk_style_context_get(style_context, state, <span class='macro'>GTK_STYLE_PROPERTY_FONT<span class='macro_popup'>"font"</span></span>, &amp;font_desc, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> pango_context = gtk_widget_get_pango_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> metrics = pango_context_get_metrics (pango_context,</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> font_desc,</td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> pango_context_get_language (pango_context));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> gtk_style_context_get_padding (style_context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> ascent = pango_font_metrics_get_ascent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> descent = pango_font_metrics_get_descent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> pango_font_description_free (font_desc);</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> pango_font_metrics_unref (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line"> thickness = (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> padding.top + padding.bottom :</td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"> padding.left + padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANGO_PIXELS (ascent + descent)<span class='macro_popup'>(((int)(ascent + descent) + 512) &gt;&gt; 10)</span></span> + thickness;</td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line">panel_toplevel_update_size_from_hints (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='keyword'>int</span> requisition_size,</td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='keyword'>int</span> monitor_size,</td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size)</td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='keyword'>int</span> nb_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> AppletSizeHints *applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> AppletSizeHintsAlloc *using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='keyword'>int</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='keyword'>int</span> full_hints;</td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='comment'>/* Scale down the size so that the panel only takes what it needs for the applets it has. */</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> total_size = non_panel_widget_size + (requisition_size / toplevel-&gt;priv-&gt;scale);</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"> nb_size_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;nb_applets_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> <span class='keyword'>if</span> (nb_size_hints &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> applets_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line"> using_hint = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> using_hint[i].index = applets_hints[i].len - 2;</td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"> using_hint[i].size = applets_hints[i].hints[applets_hints[i].len - 1];</td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line"> total_size += using_hint[i].size;</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> <span class='keyword'>if</span> (total_size &gt; monitor_size)</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>return</span> monitor_size;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> <span class='keyword'>while</span> (full_hints != nb_size_hints &amp;&amp; total_size &lt; monitor_size) {</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> <span class='keyword'>int</span> bonus;</td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> <span class='keyword'>int</span> extra_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> / (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> extra_bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> % (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> <span class='keyword'>int</span> current_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> current_bonus = bonus;</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> <span class='keyword'>while</span> (using_hint[i].index &gt; 0 &amp;&amp; applets_hints[i].hints[using_hint[i].index - 1] &lt; using_hint[i].size + current_bonus) {</td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"> new_size = applets_hints[i].hints[using_hint[i].index - 1];</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line"> current_bonus = using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> + current_bonus - new_size;</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> total_size = total_size - using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> + new_size;</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> using_hint[i].index -= 2;</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"> <span class='macro'>using_hint[i].size + current_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> total_size += (new_size - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (extra_bonus &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> <span class='macro'>using_hint[i].size + extra_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> total_size += (new_size</td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> extra_bonus -= (new_size</td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line"> <span class='keyword'>if</span> (using_hint[i].size == applets_hints[i].hints[using_hint[i].index])</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> full_hints++;</td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line">panel_toplevel_update_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='keyword'>int</span> minimum_height;</td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size;</td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"> width = requisition-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> height = requisition-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> !toplevel-&gt;priv-&gt;buttons_enabled &amp;&amp; !toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> non_panel_widget_size = 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> non_panel_widget_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> minimum_height = calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> height = <span class='macro'>MAX (MIN (MAX (height, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> <span class='keyword'>int</span> max_width;</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> max_width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> max_width = monitor_geom.width</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> max_width = toplevel-&gt;priv-&gt;geometry.x +</td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> width = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> requisition-&gt;width,</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> max_width,</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> width = <span class='macro'>MAX (MINIMUM_WIDTH, width)<span class='macro_popup'>(((100) &gt; (width)) ? (100) : (width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> width = <span class='macro'>MAX (MIN (MAX (width, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> <span class='keyword'>int</span> max_height;</td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> max_height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> max_height = monitor_geom.height</td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> max_height = toplevel-&gt;priv-&gt;geometry.y +</td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> height = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> requisition-&gt;height,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> max_height,</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line"> height = <span class='macro'>MAX (MINIMUM_WIDTH, height)<span class='macro_popup'>(((100) &gt; (height)) ? (100) : (height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> height += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> height += padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> width += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> width += padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = <span class='macro'>CLAMP (width, 0, monitor_geom.width)<span class='macro_popup'>(((width) &gt; (monitor_geom.width)) ? (monitor_geom.width) :<br> (((width) &lt; (0)) ? (0) : (width)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = <span class='macro'>CLAMP (height, 0, monitor_geom.height)<span class='macro_popup'>(((height) &gt; (monitor_geom.height)) ? (monitor_geom.height<br>) : (((height) &lt; (0)) ? (0) : (height)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> toplevel-&gt;priv-&gt;original_width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> toplevel-&gt;priv-&gt;original_height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">panel_toplevel_update_geometry (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> panel_toplevel_update_size (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> panel_toplevel_update_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line">panel_toplevel_attach_widget_destroyed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> panel_toplevel_detach (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line">panel_toplevel_attach_widget_configure (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line">panel_toplevel_update_attach_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> attach_orientation =</td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"> panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> orientation = <span class="mrange">toplevel-&gt;priv-&gt;orientation</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex">Value stored to 'orientation' is never read</div></td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2567"><td class="num" id="LN2567">2567</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="2568"><td class="num" id="LN2568">2568</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2569"><td class="num" id="LN2569">2569</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2570"><td class="num" id="LN2570">2570</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2570, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2571"><td class="num" id="LN2571">2571</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2572"><td class="num" id="LN2572">2572</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2573"><td class="num" id="LN2573">2573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2574"><td class="num" id="LN2574">2574</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="2575"><td class="num" id="LN2575">2575</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2576"><td class="num" id="LN2576">2576</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2577"><td class="num" id="LN2577">2577</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2578"><td class="num" id="LN2578">2578</td><td class="line">panel_toplevel_attach_widget_parent_set (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2579"><td class="num" id="LN2579">2579</td><td class="line"> GtkWidget *previous_parent,</td></tr>
+<tr class="codeline" data-linenumber="2580"><td class="num" id="LN2580">2580</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2581"><td class="num" id="LN2581">2581</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2582"><td class="num" id="LN2582">2582</td><td class="line"> GtkWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="2583"><td class="num" id="LN2583">2583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2584"><td class="num" id="LN2584">2584</td><td class="line"> panel_widget = gtk_widget_get_parent (<span class='macro'>GTK_WIDGET (attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_widget)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2585"><td class="num" id="LN2585">2585</td><td class="line"> <span class='keyword'>if</span> (!panel_widget)</td></tr>
+<tr class="codeline" data-linenumber="2586"><td class="num" id="LN2586">2586</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2587"><td class="num" id="LN2587">2587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2588"><td class="num" id="LN2588">2588</td><td class="line"> <span class='macro'>g_assert (PANEL_IS_WIDGET (panel_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((panel_widget)); GType __t = ((panel_widget_get_type()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>))))) ; else g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2588, ((const char*) (__func__)), "PANEL_IS_WIDGET (panel_widget)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2589"><td class="num" id="LN2589">2589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2590"><td class="num" id="LN2590">2590</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>PANEL_WIDGET (panel_widget)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel_widget)), ((panel_widget_get_type()))))))</span></span>-&gt;toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2591"><td class="num" id="LN2591">2591</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2592"><td class="num" id="LN2592">2592</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2593"><td class="num" id="LN2593">2593</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2594"><td class="num" id="LN2594">2594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2595"><td class="num" id="LN2595">2595</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2596"><td class="num" id="LN2596">2596</td><td class="line">panel_toplevel_attach_toplevel_hiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2597"><td class="num" id="LN2597">2597</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2598"><td class="num" id="LN2598">2598</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_get_is_hidden (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="2599"><td class="num" id="LN2599">2599</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="2600"><td class="num" id="LN2600">2600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2601"><td class="num" id="LN2601">2601</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2602"><td class="num" id="LN2602">2602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2603"><td class="num" id="LN2603">2603</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2604"><td class="num" id="LN2604">2604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2605"><td class="num" id="LN2605">2605</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2606"><td class="num" id="LN2606">2606</td><td class="line">panel_toplevel_attach_toplevel_unhiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2607"><td class="num" id="LN2607">2607</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2608"><td class="num" id="LN2608">2608</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attach_hidden)</td></tr>
+<tr class="codeline" data-linenumber="2609"><td class="num" id="LN2609">2609</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2610"><td class="num" id="LN2610">2610</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2611"><td class="num" id="LN2611">2611</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2612"><td class="num" id="LN2612">2612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2613"><td class="num" id="LN2613">2613</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2614"><td class="num" id="LN2614">2614</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2615"><td class="num" id="LN2615">2615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2616"><td class="num" id="LN2616">2616</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2617"><td class="num" id="LN2617">2617</td><td class="line">panel_toplevel_reverse_arrow (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2618"><td class="num" id="LN2618">2618</td><td class="line"> GtkWidget *button)</td></tr>
+<tr class="codeline" data-linenumber="2619"><td class="num" id="LN2619">2619</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2620"><td class="num" id="LN2620">2620</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="2621"><td class="num" id="LN2621">2621</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2622"><td class="num" id="LN2622">2622</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2623"><td class="num" id="LN2623">2623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2624"><td class="num" id="LN2624">2624</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="2625"><td class="num" id="LN2625">2625</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="2626"><td class="num" id="LN2626">2626</td><td class="line"> arrow_type = GTK_ARROW_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="2627"><td class="num" id="LN2627">2627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2628"><td class="num" id="LN2628">2628</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="2629"><td class="num" id="LN2629">2629</td><td class="line"> arrow_type = GTK_ARROW_UP;</td></tr>
+<tr class="codeline" data-linenumber="2630"><td class="num" id="LN2630">2630</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2631"><td class="num" id="LN2631">2631</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2632"><td class="num" id="LN2632">2632</td><td class="line"> arrow_type = GTK_ARROW_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2633"><td class="num" id="LN2633">2633</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2634"><td class="num" id="LN2634">2634</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2635"><td class="num" id="LN2635">2635</td><td class="line"> arrow_type = GTK_ARROW_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2636"><td class="num" id="LN2636">2636</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2637"><td class="num" id="LN2637">2637</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2638"><td class="num" id="LN2638">2638</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2638, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2639"><td class="num" id="LN2639">2639</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2640"><td class="num" id="LN2640">2640</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2641"><td class="num" id="LN2641">2641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2642"><td class="num" id="LN2642">2642</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrow-type"</span>, <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2643"><td class="num" id="LN2643">2643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2644"><td class="num" id="LN2644">2644</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (gtk_bin_get_child (GTK_BIN (button)))<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_bin_get_child (((((GtkBin*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), ((gtk_bin_get_type ())))))))))<br>, ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="2645"><td class="num" id="LN2645">2645</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2646"><td class="num" id="LN2646">2646</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2647"><td class="num" id="LN2647">2647</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2648"><td class="num" id="LN2648">2648</td><td class="line">panel_toplevel_reverse_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2649"><td class="num" id="LN2649">2649</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2650"><td class="num" id="LN2650">2650</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="2651"><td class="num" id="LN2651">2651</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="2652"><td class="num" id="LN2652">2652</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="2653"><td class="num" id="LN2653">2653</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="2654"><td class="num" id="LN2654">2654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2655"><td class="num" id="LN2655">2655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2656"><td class="num" id="LN2656">2656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2657"><td class="num" id="LN2657">2657</td><td class="line">panel_toplevel_disconnect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2658"><td class="num" id="LN2658">2658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2659"><td class="num" id="LN2659">2659</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="2660"><td class="num" id="LN2660">2660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2661"><td class="num" id="LN2661">2661</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION(2,62,0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (62)) || (2 == (2<br>) &amp;&amp; 78 == (62) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2662"><td class="num" id="LN2662">2662</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2663"><td class="num" id="LN2663">2663</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_toplevel_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2664"><td class="num" id="LN2664">2664</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2665"><td class="num" id="LN2665">2665</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2666"><td class="num" id="LN2666">2666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2667"><td class="num" id="LN2667">2667</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2668"><td class="num" id="LN2668">2668</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_widget_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2669"><td class="num" id="LN2669">2669</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2670"><td class="num" id="LN2670">2670</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2671"><td class="num" id="LN2671">2671</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2672"><td class="num" id="LN2672">2672</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2673"><td class="num" id="LN2673">2673</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2674"><td class="num" id="LN2674">2674</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2675"><td class="num" id="LN2675">2675</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2676"><td class="num" id="LN2676">2676</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2677"><td class="num" id="LN2677">2677</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2678"><td class="num" id="LN2678">2678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2679"><td class="num" id="LN2679">2679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2680"><td class="num" id="LN2680">2680</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2681"><td class="num" id="LN2681">2681</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_widget_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2682"><td class="num" id="LN2682">2682</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="2683"><td class="num" id="LN2683">2683</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2684"><td class="num" id="LN2684">2684</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2685"><td class="num" id="LN2685">2685</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2686"><td class="num" id="LN2686">2686</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2687"><td class="num" id="LN2687">2687</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2688"><td class="num" id="LN2688">2688</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2689"><td class="num" id="LN2689">2689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2690"><td class="num" id="LN2690">2690</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2691"><td class="num" id="LN2691">2691</td><td class="line">panel_toplevel_connect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2692"><td class="num" id="LN2692">2692</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2693"><td class="num" id="LN2693">2693</td><td class="line"> gulong *signals;</td></tr>
+<tr class="codeline" data-linenumber="2694"><td class="num" id="LN2694">2694</td><td class="line"> <span class='keyword'>int</span> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2695"><td class="num" id="LN2695">2695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2696"><td class="num" id="LN2696">2696</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_toplevel_signals;</td></tr>
+<tr class="codeline" data-linenumber="2697"><td class="num" id="LN2697">2697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2698"><td class="num" id="LN2698">2698</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2699"><td class="num" id="LN2699">2699</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2700"><td class="num" id="LN2700">2700</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2701"><td class="num" id="LN2701">2701</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2702"><td class="num" id="LN2702">2702</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"notify::orientation"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2703"><td class="num" id="LN2703">2703</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_update_attach_orientation), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2704"><td class="num" id="LN2704">2704</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2705"><td class="num" id="LN2705">2705</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2706"><td class="num" id="LN2706">2706</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2707"><td class="num" id="LN2707">2707</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2708"><td class="num" id="LN2708">2708</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"hiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2709"><td class="num" id="LN2709">2709</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_hiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2710"><td class="num" id="LN2710">2710</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2711"><td class="num" id="LN2711">2711</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"unhiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2712"><td class="num" id="LN2712">2712</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_unhiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2713"><td class="num" id="LN2713">2713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2714"><td class="num" id="LN2714">2714</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_TOPLEVEL_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2714, ((const char*) (__func__)), "i == N_ATTACH_TOPLEVEL_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2715"><td class="num" id="LN2715">2715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2716"><td class="num" id="LN2716">2716</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_widget_signals;</td></tr>
+<tr class="codeline" data-linenumber="2717"><td class="num" id="LN2717">2717</td><td class="line"> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2718"><td class="num" id="LN2718">2718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2719"><td class="num" id="LN2719">2719</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2720"><td class="num" id="LN2720">2720</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2721"><td class="num" id="LN2721">2721</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2722"><td class="num" id="LN2722">2722</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2723"><td class="num" id="LN2723">2723</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2724"><td class="num" id="LN2724">2724</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2725"><td class="num" id="LN2725">2725</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2726"><td class="num" id="LN2726">2726</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"parent-set"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2727"><td class="num" id="LN2727">2727</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_parent_set), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2728"><td class="num" id="LN2728">2728</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2729"><td class="num" id="LN2729">2729</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"show"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2730"><td class="num" id="LN2730">2730</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_show), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2731"><td class="num" id="LN2731">2731</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2732"><td class="num" id="LN2732">2732</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"hide"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2733"><td class="num" id="LN2733">2733</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_hide), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2734"><td class="num" id="LN2734">2734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2735"><td class="num" id="LN2735">2735</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_WIDGET_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2735, ((const char*) (__func__)), "i == N_ATTACH_WIDGET_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2736"><td class="num" id="LN2736">2736</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2737"><td class="num" id="LN2737">2737</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2738"><td class="num" id="LN2738">2738</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2739"><td class="num" id="LN2739">2739</td><td class="line">panel_toplevel_attach_to_widget (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2740"><td class="num" id="LN2740">2740</td><td class="line"> PanelToplevel *attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2741"><td class="num" id="LN2741">2741</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2742"><td class="num" id="LN2742">2742</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2743"><td class="num" id="LN2743">2743</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2744"><td class="num" id="LN2744">2744</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (attach_toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_toplevel)); GType __t = ((panel_toplevel_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "PANEL_IS_TOPLEVEL (attach_toplevel)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2745"><td class="num" id="LN2745">2745</td><td class="line"> <span class='macro'>g_return_if_fail (GTK_IS_WIDGET (attach_widget))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_widget)); GType __t = ((gtk_widget_get_type ()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>)))))) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "GTK_IS_WIDGET (attach_widget)"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2746"><td class="num" id="LN2746">2746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2747"><td class="num" id="LN2747">2747</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2748"><td class="num" id="LN2748">2748</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2749"><td class="num" id="LN2749">2749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2750"><td class="num" id="LN2750">2750</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2751"><td class="num" id="LN2751">2751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2752"><td class="num" id="LN2752">2752</td><td class="line"> <span class='comment'>/* Cancelling the initial animation for drawers in</span></td></tr>
+<tr class="codeline" data-linenumber="2753"><td class="num" id="LN2753">2753</td><td class="line"> <span class='comment'>* panel_toplevel_initially_hide() is not enough, since this will</span></td></tr>
+<tr class="codeline" data-linenumber="2754"><td class="num" id="LN2754">2754</td><td class="line"> <span class='comment'>* happen only when the toplevel is realized, which might be too late</span></td></tr>
+<tr class="codeline" data-linenumber="2755"><td class="num" id="LN2755">2755</td><td class="line"> <span class='comment'>* for drawers (since it's realized when the drawer is clicked) */</span></td></tr>
+<tr class="codeline" data-linenumber="2756"><td class="num" id="LN2756">2756</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2757"><td class="num" id="LN2757">2757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2758"><td class="num" id="LN2758">2758</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2759"><td class="num" id="LN2759">2759</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2760"><td class="num" id="LN2760">2760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2761"><td class="num" id="LN2761">2761</td><td class="line"> panel_toplevel_connect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2762"><td class="num" id="LN2762">2762</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2763"><td class="num" id="LN2763">2763</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2764"><td class="num" id="LN2764">2764</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2765"><td class="num" id="LN2765">2765</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2766"><td class="num" id="LN2766">2766</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2767"><td class="num" id="LN2767">2767</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2768"><td class="num" id="LN2768">2768</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2769"><td class="num" id="LN2769">2769</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_toplevel)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2770"><td class="num" id="LN2770">2770</td><td class="line"> panel_toplevel_set_monitor (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2771"><td class="num" id="LN2771">2771</td><td class="line"> panel_toplevel_get_monitor (attach_toplevel));</td></tr>
+<tr class="codeline" data-linenumber="2772"><td class="num" id="LN2772">2772</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2773"><td class="num" id="LN2773">2773</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2774"><td class="num" id="LN2774">2774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2775"><td class="num" id="LN2775">2775</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2776"><td class="num" id="LN2776">2776</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2777"><td class="num" id="LN2777">2777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2778"><td class="num" id="LN2778">2778</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2779"><td class="num" id="LN2779">2779</td><td class="line">panel_toplevel_detach (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2780"><td class="num" id="LN2780">2780</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2781"><td class="num" id="LN2781">2781</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2782"><td class="num" id="LN2782">2782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2783"><td class="num" id="LN2783">2783</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2784"><td class="num" id="LN2784">2784</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2785"><td class="num" id="LN2785">2785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2786"><td class="num" id="LN2786">2786</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2787"><td class="num" id="LN2787">2787</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2788"><td class="num" id="LN2788">2788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2789"><td class="num" id="LN2789">2789</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2790"><td class="num" id="LN2790">2790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2791"><td class="num" id="LN2791">2791</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2792"><td class="num" id="LN2792">2792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2793"><td class="num" id="LN2793">2793</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2794"><td class="num" id="LN2794">2794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2795"><td class="num" id="LN2795">2795</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2796"><td class="num" id="LN2796">2796</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2797"><td class="num" id="LN2797">2797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2798"><td class="num" id="LN2798">2798</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2799"><td class="num" id="LN2799">2799</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2800"><td class="num" id="LN2800">2800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2801"><td class="num" id="LN2801">2801</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="2802"><td class="num" id="LN2802">2802</td><td class="line">panel_toplevel_get_is_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2803"><td class="num" id="LN2803">2803</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2804"><td class="num" id="LN2804">2804</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2805"><td class="num" id="LN2805">2805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2806"><td class="num" id="LN2806">2806</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attached;</td></tr>
+<tr class="codeline" data-linenumber="2807"><td class="num" id="LN2807">2807</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2808"><td class="num" id="LN2808">2808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2809"><td class="num" id="LN2809">2809</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="2810"><td class="num" id="LN2810">2810</td><td class="line">panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2811"><td class="num" id="LN2811">2811</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2812"><td class="num" id="LN2812">2812</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2813"><td class="num" id="LN2813">2813</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2814"><td class="num" id="LN2814">2814</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2815"><td class="num" id="LN2815">2815</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2816"><td class="num" id="LN2816">2816</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2817"><td class="num" id="LN2817">2817</td><td class="line">GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2818"><td class="num" id="LN2818">2818</td><td class="line">panel_toplevel_get_attach_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2819"><td class="num" id="LN2819">2819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2820"><td class="num" id="LN2820">2820</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2821"><td class="num" id="LN2821">2821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2822"><td class="num" id="LN2822">2822</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2823"><td class="num" id="LN2823">2823</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2824"><td class="num" id="LN2824">2824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2825"><td class="num" id="LN2825">2825</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2826"><td class="num" id="LN2826">2826</td><td class="line">panel_toplevel_popup_panel_menu (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2827"><td class="num" id="LN2827">2827</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2828"><td class="num" id="LN2828">2828</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2829"><td class="num" id="LN2829">2829</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2830"><td class="num" id="LN2830">2830</td><td class="line"> g_signal_emit_by_name (toplevel, <span class='string_literal'>"popup-menu"</span>, &amp;retval);</td></tr>
+<tr class="codeline" data-linenumber="2831"><td class="num" id="LN2831">2831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2832"><td class="num" id="LN2832">2832</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2833"><td class="num" id="LN2833">2833</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2834"><td class="num" id="LN2834">2834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2835"><td class="num" id="LN2835">2835</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2836"><td class="num" id="LN2836">2836</td><td class="line">panel_toplevel_toggle_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2837"><td class="num" id="LN2837">2837</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2838"><td class="num" id="LN2838">2838</td><td class="line"> panel_toplevel_set_expand (toplevel, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="2839"><td class="num" id="LN2839">2839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2840"><td class="num" id="LN2840">2840</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2841"><td class="num" id="LN2841">2841</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2842"><td class="num" id="LN2842">2842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2843"><td class="num" id="LN2843">2843</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2844"><td class="num" id="LN2844">2844</td><td class="line">panel_toplevel_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2845"><td class="num" id="LN2845">2845</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2846"><td class="num" id="LN2846">2846</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2847"><td class="num" id="LN2847">2847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2848"><td class="num" id="LN2848">2848</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2849"><td class="num" id="LN2849">2849</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2850"><td class="num" id="LN2850">2850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2851"><td class="num" id="LN2851">2851</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2852"><td class="num" id="LN2852">2852</td><td class="line">panel_toplevel_unexpand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2853"><td class="num" id="LN2853">2853</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2854"><td class="num" id="LN2854">2854</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2855"><td class="num" id="LN2855">2855</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2856"><td class="num" id="LN2856">2856</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2857"><td class="num" id="LN2857">2857</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2858"><td class="num" id="LN2858">2858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2859"><td class="num" id="LN2859">2859</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2860"><td class="num" id="LN2860">2860</td><td class="line">panel_toplevel_toggle_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2861"><td class="num" id="LN2861">2861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2862"><td class="num" id="LN2862">2862</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2863"><td class="num" id="LN2863">2863</td><td class="line"> panel_toplevel_hide (toplevel, toplevel-&gt;priv-&gt;auto_hide, -1);</td></tr>
+<tr class="codeline" data-linenumber="2864"><td class="num" id="LN2864">2864</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2865"><td class="num" id="LN2865">2865</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2866"><td class="num" id="LN2866">2866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2867"><td class="num" id="LN2867">2867</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2868"><td class="num" id="LN2868">2868</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2869"><td class="num" id="LN2869">2869</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2870"><td class="num" id="LN2870">2870</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2871"><td class="num" id="LN2871">2871</td><td class="line">panel_toplevel_begin_move (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2872"><td class="num" id="LN2872">2872</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2873"><td class="num" id="LN2873">2873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2874"><td class="num" id="LN2874">2874</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2875"><td class="num" id="LN2875">2875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2876"><td class="num" id="LN2876">2876</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2877"><td class="num" id="LN2877">2877</td><td class="line"> toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2878"><td class="num" id="LN2878">2878</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2879"><td class="num" id="LN2879">2879</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2880"><td class="num" id="LN2880">2880</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2881"><td class="num" id="LN2881">2881</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2882"><td class="num" id="LN2882">2882</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2883"><td class="num" id="LN2883">2883</td><td class="line">panel_toplevel_begin_resize (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2884"><td class="num" id="LN2884">2884</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2885"><td class="num" id="LN2885">2885</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2886"><td class="num" id="LN2886">2886</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2887"><td class="num" id="LN2887">2887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2888"><td class="num" id="LN2888">2888</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2889"><td class="num" id="LN2889">2889</td><td class="line"> toplevel, PANEL_GRAB_OP_RESIZE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2890"><td class="num" id="LN2890">2890</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2891"><td class="num" id="LN2891">2891</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2892"><td class="num" id="LN2892">2892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2893"><td class="num" id="LN2893">2893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2894"><td class="num" id="LN2894">2894</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2895"><td class="num" id="LN2895">2895</td><td class="line">panel_toplevel_move_resize_window (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2896"><td class="num" id="LN2896">2896</td><td class="line"> gboolean move,</td></tr>
+<tr class="codeline" data-linenumber="2897"><td class="num" id="LN2897">2897</td><td class="line"> gboolean resize)</td></tr>
+<tr class="codeline" data-linenumber="2898"><td class="num" id="LN2898">2898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2899"><td class="num" id="LN2899">2899</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2900"><td class="num" id="LN2900">2900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2901"><td class="num" id="LN2901">2901</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="2902"><td class="num" id="LN2902">2902</td><td class="line"> gboolean stick;</td></tr>
+<tr class="codeline" data-linenumber="2903"><td class="num" id="LN2903">2903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2904"><td class="num" id="LN2904">2904</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2905"><td class="num" id="LN2905">2905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2906"><td class="num" id="LN2906">2906</td><td class="line"> <span class='macro'>g_assert (gtk_widget_get_realized (widget))<span class='macro_popup'>do { if (gtk_widget_get_realized (widget)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 2906, ((const char*) (__func__<br>)), "gtk_widget_get_realized (widget)"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2907"><td class="num" id="LN2907">2907</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2908"><td class="num" id="LN2908">2908</td><td class="line"> <span class='keyword'>if</span> (move &amp;&amp; resize)</td></tr>
+<tr class="codeline" data-linenumber="2909"><td class="num" id="LN2909">2909</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2910"><td class="num" id="LN2910">2910</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2911"><td class="num" id="LN2911">2911</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2912"><td class="num" id="LN2912">2912</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2913"><td class="num" id="LN2913">2913</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2914"><td class="num" id="LN2914">2914</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (move)</td></tr>
+<tr class="codeline" data-linenumber="2915"><td class="num" id="LN2915">2915</td><td class="line"> gdk_window_move (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2916"><td class="num" id="LN2916">2916</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2917"><td class="num" id="LN2917">2917</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y);</td></tr>
+<tr class="codeline" data-linenumber="2918"><td class="num" id="LN2918">2918</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (resize)</td></tr>
+<tr class="codeline" data-linenumber="2919"><td class="num" id="LN2919">2919</td><td class="line"> gdk_window_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2920"><td class="num" id="LN2920">2920</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2921"><td class="num" id="LN2921">2921</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2922"><td class="num" id="LN2922">2922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2923"><td class="num" id="LN2923">2923</td><td class="line"> <span class='keyword'>if</span> (resize || move) {</td></tr>
+<tr class="codeline" data-linenumber="2924"><td class="num" id="LN2924">2924</td><td class="line"> <span class='keyword'>for</span> (list = toplevel-&gt;priv-&gt;panel_widget-&gt;applet_list; list != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; list = <span class='macro'>g_list_next (list)<span class='macro_popup'>((list) ? (((GList *)(list))-&gt;next) : ((void*)0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2925"><td class="num" id="LN2925">2925</td><td class="line"> AppletData *ad = list-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="2926"><td class="num" id="LN2926">2926</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = mate_panel_applet_get_id_by_widget (ad-&gt;applet);</td></tr>
+<tr class="codeline" data-linenumber="2927"><td class="num" id="LN2927">2927</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2928"><td class="num" id="LN2928">2928</td><td class="line"> <span class='keyword'>if</span> (!id)</td></tr>
+<tr class="codeline" data-linenumber="2929"><td class="num" id="LN2929">2929</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2930"><td class="num" id="LN2930">2930</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2931"><td class="num" id="LN2931">2931</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="2932"><td class="num" id="LN2932">2932</td><td class="line"> info = mate_panel_applet_get_by_id (id);</td></tr>
+<tr class="codeline" data-linenumber="2933"><td class="num" id="LN2933">2933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2934"><td class="num" id="LN2934">2934</td><td class="line"> stick = g_settings_get_boolean (info-&gt;settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2935"><td class="num" id="LN2935">2935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2936"><td class="num" id="LN2936">2936</td><td class="line"> <span class='keyword'>if</span> (stick) {</td></tr>
+<tr class="codeline" data-linenumber="2937"><td class="num" id="LN2937">2937</td><td class="line"> <span class='keyword'>int</span> position = g_settings_get_int (info-&gt;settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2938"><td class="num" id="LN2938">2938</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2939"><td class="num" id="LN2939">2939</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.width - position;</td></tr>
+<tr class="codeline" data-linenumber="2940"><td class="num" id="LN2940">2940</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2941"><td class="num" id="LN2941">2941</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.height - position;</td></tr>
+<tr class="codeline" data-linenumber="2942"><td class="num" id="LN2942">2942</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2943"><td class="num" id="LN2943">2943</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2944"><td class="num" id="LN2944">2944</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2945"><td class="num" id="LN2945">2945</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2946"><td class="num" id="LN2946">2946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2947"><td class="num" id="LN2947">2947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2948"><td class="num" id="LN2948">2948</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2949"><td class="num" id="LN2949">2949</td><td class="line">panel_toplevel_initially_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2950"><td class="num" id="LN2950">2950</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2951"><td class="num" id="LN2951">2951</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="2952"><td class="num" id="LN2952">2952</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2953"><td class="num" id="LN2953">2953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2954"><td class="num" id="LN2954">2954</td><td class="line"> <span class='comment'>/* We start the panel off hidden until all the applets are</span></td></tr>
+<tr class="codeline" data-linenumber="2955"><td class="num" id="LN2955">2955</td><td class="line"> <span class='comment'>* loaded, and then finally slide it down when it's ready to be</span></td></tr>
+<tr class="codeline" data-linenumber="2956"><td class="num" id="LN2956">2956</td><td class="line"> <span class='comment'>* used */</span></td></tr>
+<tr class="codeline" data-linenumber="2957"><td class="num" id="LN2957">2957</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="2958"><td class="num" id="LN2958">2958</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2959"><td class="num" id="LN2959">2959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2960"><td class="num" id="LN2960">2960</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2961"><td class="num" id="LN2961">2961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2962"><td class="num" id="LN2962">2962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2963"><td class="num" id="LN2963">2963</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2964"><td class="num" id="LN2964">2964</td><td class="line">set_background_default_style (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2965"><td class="num" id="LN2965">2965</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2966"><td class="num" id="LN2966">2966</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2967"><td class="num" id="LN2967">2967</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2968"><td class="num" id="LN2968">2968</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2969"><td class="num" id="LN2969">2969</td><td class="line"> GdkRGBA *bg_color;</td></tr>
+<tr class="codeline" data-linenumber="2970"><td class="num" id="LN2970">2970</td><td class="line"> cairo_pattern_t *bg_image;</td></tr>
+<tr class="codeline" data-linenumber="2971"><td class="num" id="LN2971">2971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2972"><td class="num" id="LN2972">2972</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="2973"><td class="num" id="LN2973">2973</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2974"><td class="num" id="LN2974">2974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2975"><td class="num" id="LN2975">2975</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2976"><td class="num" id="LN2976">2976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2977"><td class="num" id="LN2977">2977</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2978"><td class="num" id="LN2978">2978</td><td class="line"> state = gtk_style_context_get_state (context);</td></tr>
+<tr class="codeline" data-linenumber="2979"><td class="num" id="LN2979">2979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2980"><td class="num" id="LN2980">2980</td><td class="line"> gtk_style_context_get (context, state,</td></tr>
+<tr class="codeline" data-linenumber="2981"><td class="num" id="LN2981">2981</td><td class="line"> <span class='string_literal'>"background-color"</span>, &amp;bg_color,</td></tr>
+<tr class="codeline" data-linenumber="2982"><td class="num" id="LN2982">2982</td><td class="line"> <span class='string_literal'>"background-image"</span>, &amp;bg_image,</td></tr>
+<tr class="codeline" data-linenumber="2983"><td class="num" id="LN2983">2983</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2984"><td class="num" id="LN2984">2984</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2985"><td class="num" id="LN2985">2985</td><td class="line"> panel_background_set_default_style (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="2986"><td class="num" id="LN2986">2986</td><td class="line"> bg_color, bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2987"><td class="num" id="LN2987">2987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2988"><td class="num" id="LN2988">2988</td><td class="line"> <span class='keyword'>if</span> (bg_color)</td></tr>
+<tr class="codeline" data-linenumber="2989"><td class="num" id="LN2989">2989</td><td class="line"> gdk_rgba_free (bg_color);</td></tr>
+<tr class="codeline" data-linenumber="2990"><td class="num" id="LN2990">2990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2991"><td class="num" id="LN2991">2991</td><td class="line"> <span class='keyword'>if</span> (bg_image)</td></tr>
+<tr class="codeline" data-linenumber="2992"><td class="num" id="LN2992">2992</td><td class="line"> cairo_pattern_destroy (bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2993"><td class="num" id="LN2993">2993</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2994"><td class="num" id="LN2994">2994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2995"><td class="num" id="LN2995">2995</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2996"><td class="num" id="LN2996">2996</td><td class="line">panel_toplevel_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2997"><td class="num" id="LN2997">2997</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2998"><td class="num" id="LN2998">2998</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2999"><td class="num" id="LN2999">2999</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="3000"><td class="num" id="LN3000">3000</td><td class="line"> GdkVisual *visual;</td></tr>
+<tr class="codeline" data-linenumber="3001"><td class="num" id="LN3001">3001</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3002"><td class="num" id="LN3002">3002</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3003"><td class="num" id="LN3003">3003</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3004"><td class="num" id="LN3004">3004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3005"><td class="num" id="LN3005">3005</td><td class="line"> screen = gtk_widget_get_screen (widget);</td></tr>
+<tr class="codeline" data-linenumber="3006"><td class="num" id="LN3006">3006</td><td class="line"> visual = gdk_screen_get_rgba_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3007"><td class="num" id="LN3007">3007</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3008"><td class="num" id="LN3008">3008</td><td class="line"> <span class='keyword'>if</span> (visual == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3009"><td class="num" id="LN3009">3009</td><td class="line"> visual = gdk_screen_get_system_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3010"><td class="num" id="LN3010">3010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3011"><td class="num" id="LN3011">3011</td><td class="line"> gtk_widget_set_visual (widget, visual);</td></tr>
+<tr class="codeline" data-linenumber="3012"><td class="num" id="LN3012">3012</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3013"><td class="num" id="LN3013">3013</td><td class="line"> gtk_window_set_decorated (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3014"><td class="num" id="LN3014">3014</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3015"><td class="num" id="LN3015">3015</td><td class="line"> gtk_window_set_type_hint (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, GDK_WINDOW_TYPE_HINT_DOCK);</td></tr>
+<tr class="codeline" data-linenumber="3016"><td class="num" id="LN3016">3016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3017"><td class="num" id="LN3017">3017</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3018"><td class="num" id="LN3018">3018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3019"><td class="num" id="LN3019">3019</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3020"><td class="num" id="LN3020">3020</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3021"><td class="num" id="LN3021">3021</td><td class="line"> panel_background_realized (&amp;toplevel-&gt;background, window);</td></tr>
+<tr class="codeline" data-linenumber="3022"><td class="num" id="LN3022">3022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3023"><td class="num" id="LN3023">3023</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3024"><td class="num" id="LN3024">3024</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_WINDOW (window)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(window)); GType __t = ((gdk_x11_window_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3025"><td class="num" id="LN3025">3025</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3026"><td class="num" id="LN3026">3026</td><td class="line"> gdk_window_set_geometry_hints (window, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="3027"><td class="num" id="LN3027">3027</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3028"><td class="num" id="LN3028">3028</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3029"><td class="num" id="LN3029">3029</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3030"><td class="num" id="LN3030">3030</td><td class="line"> gdk_window_set_group (window, window);</td></tr>
+<tr class="codeline" data-linenumber="3031"><td class="num" id="LN3031">3031</td><td class="line"> panel_toplevel_initially_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3032"><td class="num" id="LN3032">3032</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3033"><td class="num" id="LN3033">3033</td><td class="line"> panel_toplevel_move_resize_window (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3034"><td class="num" id="LN3034">3034</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3035"><td class="num" id="LN3035">3035</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3036"><td class="num" id="LN3036">3036</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3037"><td class="num" id="LN3037">3037</td><td class="line">panel_toplevel_disconnect_timeouts (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3038"><td class="num" id="LN3038">3038</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3039"><td class="num" id="LN3039">3039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3040"><td class="num" id="LN3040">3040</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3041"><td class="num" id="LN3041">3041</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3042"><td class="num" id="LN3042">3042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3043"><td class="num" id="LN3043">3043</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3044"><td class="num" id="LN3044">3044</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3045"><td class="num" id="LN3045">3045</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3046"><td class="num" id="LN3046">3046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3047"><td class="num" id="LN3047">3047</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3048"><td class="num" id="LN3048">3048</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;animation_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3049"><td class="num" id="LN3049">3049</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3050"><td class="num" id="LN3050">3050</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3051"><td class="num" id="LN3051">3051</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3052"><td class="num" id="LN3052">3052</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3053"><td class="num" id="LN3053">3053</td><td class="line">panel_toplevel_unrealize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3054"><td class="num" id="LN3054">3054</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3055"><td class="num" id="LN3055">3055</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3056"><td class="num" id="LN3056">3056</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3057"><td class="num" id="LN3057">3057</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3058"><td class="num" id="LN3058">3058</td><td class="line"> panel_background_unrealized (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3059"><td class="num" id="LN3059">3059</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;unrealize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3060"><td class="num" id="LN3060">3060</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3061"><td class="num" id="LN3061">3061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3062"><td class="num" id="LN3062">3062</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3063"><td class="num" id="LN3063">3063</td><td class="line">panel_toplevel_dispose (GObject *widget)</td></tr>
+<tr class="codeline" data-linenumber="3064"><td class="num" id="LN3064">3064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3065"><td class="num" id="LN3065">3065</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3066"><td class="num" id="LN3066">3066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3067"><td class="num" id="LN3067">3067</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;settings_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;settings_path<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;settings_path)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;settings_path); __typeof__ (*(&amp;toplevel-&gt;<br>priv-&gt;settings_path)) _ptr = *_pp; *_pp = ((void*)0); if (<br>_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3068"><td class="num" id="LN3068">3068</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3069"><td class="num" id="LN3069">3069</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;settings) {</td></tr>
+<tr class="codeline" data-linenumber="3070"><td class="num" id="LN3070">3070</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;settings)<br>, G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3071"><td class="num" id="LN3071">3071</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;settings)) ==<br> sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;settings))) _pp = ((&amp;toplevel-&gt;settings<br>)); __typeof__ (*((&amp;toplevel-&gt;settings))) _ptr = *_pp;<br> *_pp = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3072"><td class="num" id="LN3072">3072</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3073"><td class="num" id="LN3073">3073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3074"><td class="num" id="LN3074">3074</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;queued_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;queued_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;queued_settings))) _pp = ((&amp;toplevel<br>-&gt;queued_settings)); __typeof__ (*((&amp;toplevel-&gt;queued_settings<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3075"><td class="num" id="LN3075">3075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3076"><td class="num" id="LN3076">3076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;background_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3077"><td class="num" id="LN3077">3077</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;background_settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;background_settings<br>), G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3078"><td class="num" id="LN3078">3078</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;background_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;background_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;background_settings))) _pp = ((&amp;toplevel<br>-&gt;background_settings)); __typeof__ (*((&amp;toplevel-&gt;<br>background_settings))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr<br>) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3079"><td class="num" id="LN3079">3079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3080"><td class="num" id="LN3080">3080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3081"><td class="num" id="LN3081">3081</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3082"><td class="num" id="LN3082">3082</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3083"><td class="num" id="LN3083">3083</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3084"><td class="num" id="LN3084">3084</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3085"><td class="num" id="LN3085">3085</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3086"><td class="num" id="LN3086">3086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3087"><td class="num" id="LN3087">3087</td><td class="line"> panel_background_free (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3088"><td class="num" id="LN3088">3088</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3089"><td class="num" id="LN3089">3089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3090"><td class="num" id="LN3090">3090</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3091"><td class="num" id="LN3091">3091</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3092"><td class="num" id="LN3092">3092</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3093"><td class="num" id="LN3093">3093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3094"><td class="num" id="LN3094">3094</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3095"><td class="num" id="LN3095">3095</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3096"><td class="num" id="LN3096">3096</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3097"><td class="num" id="LN3097">3097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3098"><td class="num" id="LN3098">3098</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;description, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;description<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;description)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;description); __typeof__ (*(&amp;toplevel-&gt;priv<br>-&gt;description)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (<br>g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3099"><td class="num" id="LN3099">3099</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;name, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;name<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;name)) _pp = (&amp;toplevel-&gt;<br>priv-&gt;name); __typeof__ (*(&amp;toplevel-&gt;priv-&gt;name<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3100"><td class="num" id="LN3100">3100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3101"><td class="num" id="LN3101">3101</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3102"><td class="num" id="LN3102">3102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3103"><td class="num" id="LN3103">3103</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;dispose (widget);</td></tr>
+<tr class="codeline" data-linenumber="3104"><td class="num" id="LN3104">3104</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3105"><td class="num" id="LN3105">3105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3106"><td class="num" id="LN3106">3106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3107"><td class="num" id="LN3107">3107</td><td class="line">panel_toplevel_check_resize (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="3108"><td class="num" id="LN3108">3108</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3109"><td class="num" id="LN3109">3109</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3110"><td class="num" id="LN3110">3110</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3111"><td class="num" id="LN3111">3111</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3112"><td class="num" id="LN3112">3112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3113"><td class="num" id="LN3113">3113</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (container)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3114"><td class="num" id="LN3114">3114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3115"><td class="num" id="LN3115">3115</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (widget))</td></tr>
+<tr class="codeline" data-linenumber="3116"><td class="num" id="LN3116">3116</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3117"><td class="num" id="LN3117">3117</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3118"><td class="num" id="LN3118">3118</td><td class="line"> requisition.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3119"><td class="num" id="LN3119">3119</td><td class="line"> requisition.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3120"><td class="num" id="LN3120">3120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3121"><td class="num" id="LN3121">3121</td><td class="line"> gtk_widget_get_preferred_size (widget, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3122"><td class="num" id="LN3122">3122</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3123"><td class="num" id="LN3123">3123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3124"><td class="num" id="LN3124">3124</td><td class="line"> allocation.width = requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3125"><td class="num" id="LN3125">3125</td><td class="line"> allocation.height = requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3126"><td class="num" id="LN3126">3126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3127"><td class="num" id="LN3127">3127</td><td class="line"> gtk_widget_size_allocate (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3128"><td class="num" id="LN3128">3128</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3129"><td class="num" id="LN3129">3129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3130"><td class="num" id="LN3130">3130</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3131"><td class="num" id="LN3131">3131</td><td class="line">panel_toplevel_size_request (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3132"><td class="num" id="LN3132">3132</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="3133"><td class="num" id="LN3133">3133</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3134"><td class="num" id="LN3134">3134</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3135"><td class="num" id="LN3135">3135</td><td class="line"> GtkBin *bin;</td></tr>
+<tr class="codeline" data-linenumber="3136"><td class="num" id="LN3136">3136</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3137"><td class="num" id="LN3137">3137</td><td class="line"> GdkRectangle old_geometry;</td></tr>
+<tr class="codeline" data-linenumber="3138"><td class="num" id="LN3138">3138</td><td class="line"> <span class='keyword'>int</span> position_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3139"><td class="num" id="LN3139">3139</td><td class="line"> <span class='keyword'>int</span> size_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3140"><td class="num" id="LN3140">3140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3141"><td class="num" id="LN3141">3141</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3142"><td class="num" id="LN3142">3142</td><td class="line"> bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3143"><td class="num" id="LN3143">3143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3144"><td class="num" id="LN3144">3144</td><td class="line"> <span class='comment'>/* we get a size request when there are new monitors, so first try to</span></td></tr>
+<tr class="codeline" data-linenumber="3145"><td class="num" id="LN3145">3145</td><td class="line"> <span class='comment'>* see if we need to move to a new monitor */</span></td></tr>
+<tr class="codeline" data-linenumber="3146"><td class="num" id="LN3146">3146</td><td class="line"> panel_toplevel_update_monitor (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3147"><td class="num" id="LN3147">3147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3148"><td class="num" id="LN3148">3148</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3149"><td class="num" id="LN3149">3149</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3150"><td class="num" id="LN3150">3150</td><td class="line"> gtk_widget_get_preferred_size (child, requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3151"><td class="num" id="LN3151">3151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3152"><td class="num" id="LN3152">3152</td><td class="line"> old_geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="3153"><td class="num" id="LN3153">3153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3154"><td class="num" id="LN3154">3154</td><td class="line"> panel_toplevel_update_geometry (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="3155"><td class="num" id="LN3155">3155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3156"><td class="num" id="LN3156">3156</td><td class="line"> requisition-&gt;width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="3157"><td class="num" id="LN3157">3157</td><td class="line"> requisition-&gt;height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="3158"><td class="num" id="LN3158">3158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3159"><td class="num" id="LN3159">3159</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3160"><td class="num" id="LN3160">3160</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3161"><td class="num" id="LN3161">3161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3162"><td class="num" id="LN3162">3162</td><td class="line"> <span class='keyword'>if</span> (old_geometry.width != toplevel-&gt;priv-&gt;geometry.width ||</td></tr>
+<tr class="codeline" data-linenumber="3163"><td class="num" id="LN3163">3163</td><td class="line"> old_geometry.height != toplevel-&gt;priv-&gt;geometry.height)</td></tr>
+<tr class="codeline" data-linenumber="3164"><td class="num" id="LN3164">3164</td><td class="line"> size_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3165"><td class="num" id="LN3165">3165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3166"><td class="num" id="LN3166">3166</td><td class="line"> <span class='keyword'>if</span> (old_geometry.x != toplevel-&gt;priv-&gt;geometry.x ||</td></tr>
+<tr class="codeline" data-linenumber="3167"><td class="num" id="LN3167">3167</td><td class="line"> old_geometry.y != toplevel-&gt;priv-&gt;geometry.y)</td></tr>
+<tr class="codeline" data-linenumber="3168"><td class="num" id="LN3168">3168</td><td class="line"> position_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3169"><td class="num" id="LN3169">3169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3170"><td class="num" id="LN3170">3170</td><td class="line"> panel_toplevel_move_resize_window (toplevel, position_changed, size_changed);</td></tr>
+<tr class="codeline" data-linenumber="3171"><td class="num" id="LN3171">3171</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3172"><td class="num" id="LN3172">3172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3173"><td class="num" id="LN3173">3173</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3174"><td class="num" id="LN3174">3174</td><td class="line">panel_toplevel_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3175"><td class="num" id="LN3175">3175</td><td class="line"> gint *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="3176"><td class="num" id="LN3176">3176</td><td class="line"> gint *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="3177"><td class="num" id="LN3177">3177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3178"><td class="num" id="LN3178">3178</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3179"><td class="num" id="LN3179">3179</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3180"><td class="num" id="LN3180">3180</td><td class="line"> *minimum_width = *natural_width = req.width;</td></tr>
+<tr class="codeline" data-linenumber="3181"><td class="num" id="LN3181">3181</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3182"><td class="num" id="LN3182">3182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3183"><td class="num" id="LN3183">3183</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3184"><td class="num" id="LN3184">3184</td><td class="line">panel_toplevel_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3185"><td class="num" id="LN3185">3185</td><td class="line"> gint *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="3186"><td class="num" id="LN3186">3186</td><td class="line"> gint *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="3187"><td class="num" id="LN3187">3187</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3188"><td class="num" id="LN3188">3188</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3189"><td class="num" id="LN3189">3189</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3190"><td class="num" id="LN3190">3190</td><td class="line"> *minimum_height = *natural_height = req.height;</td></tr>
+<tr class="codeline" data-linenumber="3191"><td class="num" id="LN3191">3191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3192"><td class="num" id="LN3192">3192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3193"><td class="num" id="LN3193">3193</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3194"><td class="num" id="LN3194">3194</td><td class="line">set_background_region (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3195"><td class="num" id="LN3195">3195</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3196"><td class="num" id="LN3196">3196</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3197"><td class="num" id="LN3197">3197</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3198"><td class="num" id="LN3198">3198</td><td class="line"> gint origin_x;</td></tr>
+<tr class="codeline" data-linenumber="3199"><td class="num" id="LN3199">3199</td><td class="line"> gint origin_y;</td></tr>
+<tr class="codeline" data-linenumber="3200"><td class="num" id="LN3200">3200</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3201"><td class="num" id="LN3201">3201</td><td class="line"> GtkOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="3202"><td class="num" id="LN3202">3202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3203"><td class="num" id="LN3203">3203</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3204"><td class="num" id="LN3204">3204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3205"><td class="num" id="LN3205">3205</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3206"><td class="num" id="LN3206">3206</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3207"><td class="num" id="LN3207">3207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3208"><td class="num" id="LN3208">3208</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3209"><td class="num" id="LN3209">3209</td><td class="line"> origin_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3210"><td class="num" id="LN3210">3210</td><td class="line"> origin_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3211"><td class="num" id="LN3211">3211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3212"><td class="num" id="LN3212">3212</td><td class="line"> gdk_window_get_origin (window, &amp;origin_x, &amp;origin_y);</td></tr>
+<tr class="codeline" data-linenumber="3213"><td class="num" id="LN3213">3213</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3214"><td class="num" id="LN3214">3214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3215"><td class="num" id="LN3215">3215</td><td class="line"> orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="3216"><td class="num" id="LN3216">3216</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3217"><td class="num" id="LN3217">3217</td><td class="line"> orientation = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="3218"><td class="num" id="LN3218">3218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3219"><td class="num" id="LN3219">3219</td><td class="line"> panel_background_change_region (&amp;toplevel-&gt;background, orientation,</td></tr>
+<tr class="codeline" data-linenumber="3220"><td class="num" id="LN3220">3220</td><td class="line"> origin_x, origin_y,</td></tr>
+<tr class="codeline" data-linenumber="3221"><td class="num" id="LN3221">3221</td><td class="line"> allocation.width, allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="3222"><td class="num" id="LN3222">3222</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3223"><td class="num" id="LN3223">3223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3224"><td class="num" id="LN3224">3224</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3225"><td class="num" id="LN3225">3225</td><td class="line">panel_toplevel_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3226"><td class="num" id="LN3226">3226</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="3227"><td class="num" id="LN3227">3227</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3228"><td class="num" id="LN3228">3228</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3229"><td class="num" id="LN3229">3229</td><td class="line"> GtkBin *bin = (GtkBin *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3230"><td class="num" id="LN3230">3230</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3231"><td class="num" id="LN3231">3231</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3232"><td class="num" id="LN3232">3232</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3233"><td class="num" id="LN3233">3233</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3234"><td class="num" id="LN3234">3234</td><td class="line"> GtkAllocation challoc;</td></tr>
+<tr class="codeline" data-linenumber="3235"><td class="num" id="LN3235">3235</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="3236"><td class="num" id="LN3236">3236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3237"><td class="num" id="LN3237">3237</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="3238"><td class="num" id="LN3238">3238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3239"><td class="num" id="LN3239">3239</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3240"><td class="num" id="LN3240">3240</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3241"><td class="num" id="LN3241">3241</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3242"><td class="num" id="LN3242">3242</td><td class="line"> challoc = *allocation;</td></tr>
+<tr class="codeline" data-linenumber="3243"><td class="num" id="LN3243">3243</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3244"><td class="num" id="LN3244">3244</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3245"><td class="num" id="LN3245">3245</td><td class="line"> challoc.x = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3246"><td class="num" id="LN3246">3246</td><td class="line"> challoc.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3247"><td class="num" id="LN3247">3247</td><td class="line"> challoc.width = allocation-&gt;width - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3248"><td class="num" id="LN3248">3248</td><td class="line"> challoc.height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="3249"><td class="num" id="LN3249">3249</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3250"><td class="num" id="LN3250">3250</td><td class="line"> challoc.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3251"><td class="num" id="LN3251">3251</td><td class="line"> challoc.y = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3252"><td class="num" id="LN3252">3252</td><td class="line"> challoc.width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="3253"><td class="num" id="LN3253">3253</td><td class="line"> challoc.height = allocation-&gt;height - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3254"><td class="num" id="LN3254">3254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3255"><td class="num" id="LN3255">3255</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3256"><td class="num" id="LN3256">3256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3257"><td class="num" id="LN3257">3257</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3258"><td class="num" id="LN3258">3258</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3259"><td class="num" id="LN3259">3259</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3260"><td class="num" id="LN3260">3260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3261"><td class="num" id="LN3261">3261</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3262"><td class="num" id="LN3262">3262</td><td class="line"> challoc.y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3263"><td class="num" id="LN3263">3263</td><td class="line"> challoc.height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3264"><td class="num" id="LN3264">3264</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3265"><td class="num" id="LN3265">3265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3266"><td class="num" id="LN3266">3266</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3267"><td class="num" id="LN3267">3267</td><td class="line"> challoc.x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3268"><td class="num" id="LN3268">3268</td><td class="line"> challoc.width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3269"><td class="num" id="LN3269">3269</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3270"><td class="num" id="LN3270">3270</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3271"><td class="num" id="LN3271">3271</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3272"><td class="num" id="LN3272">3272</td><td class="line"> challoc.height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3273"><td class="num" id="LN3273">3273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3274"><td class="num" id="LN3274">3274</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3275"><td class="num" id="LN3275">3275</td><td class="line"> challoc.width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3276"><td class="num" id="LN3276">3276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3277"><td class="num" id="LN3277">3277</td><td class="line"> challoc.width = <span class='macro'>MAX (1, challoc.width)<span class='macro_popup'>(((1) &gt; (challoc.width)) ? (1) : (challoc.width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3278"><td class="num" id="LN3278">3278</td><td class="line"> challoc.height = <span class='macro'>MAX (1, challoc.height)<span class='macro_popup'>(((1) &gt; (challoc.height)) ? (1) : (challoc.height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3279"><td class="num" id="LN3279">3279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3280"><td class="num" id="LN3280">3280</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3281"><td class="num" id="LN3281">3281</td><td class="line"> gtk_widget_get_allocation (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="3282"><td class="num" id="LN3282">3282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3283"><td class="num" id="LN3283">3283</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_mapped (widget) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3284"><td class="num" id="LN3284">3284</td><td class="line"> (challoc.x != child_allocation.x ||</td></tr>
+<tr class="codeline" data-linenumber="3285"><td class="num" id="LN3285">3285</td><td class="line"> challoc.y != child_allocation.y ||</td></tr>
+<tr class="codeline" data-linenumber="3286"><td class="num" id="LN3286">3286</td><td class="line"> challoc.width != child_allocation.width ||</td></tr>
+<tr class="codeline" data-linenumber="3287"><td class="num" id="LN3287">3287</td><td class="line"> challoc.height != child_allocation.height)) {</td></tr>
+<tr class="codeline" data-linenumber="3288"><td class="num" id="LN3288">3288</td><td class="line"> GtkAllocation allocation_to_invalidate;</td></tr>
+<tr class="codeline" data-linenumber="3289"><td class="num" id="LN3289">3289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3290"><td class="num" id="LN3290">3290</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation_to_invalidate);</td></tr>
+<tr class="codeline" data-linenumber="3291"><td class="num" id="LN3291">3291</td><td class="line"> gdk_window_invalidate_rect (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="3292"><td class="num" id="LN3292">3292</td><td class="line"> &amp;allocation_to_invalidate, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3293"><td class="num" id="LN3293">3293</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3294"><td class="num" id="LN3294">3294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3295"><td class="num" id="LN3295">3295</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3296"><td class="num" id="LN3296">3296</td><td class="line"> gtk_widget_size_allocate (child, &amp;challoc);</td></tr>
+<tr class="codeline" data-linenumber="3297"><td class="num" id="LN3297">3297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3298"><td class="num" id="LN3298">3298</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3299"><td class="num" id="LN3299">3299</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3300"><td class="num" id="LN3300">3300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3301"><td class="num" id="LN3301">3301</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="3302"><td class="num" id="LN3302">3302</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3303"><td class="num" id="LN3303">3303</td><td class="line"> PanelToplevel* toplevel = (PanelToplevel*) widget;</td></tr>
+<tr class="codeline" data-linenumber="3304"><td class="num" id="LN3304">3304</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="3305"><td class="num" id="LN3305">3305</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3306"><td class="num" id="LN3306">3306</td><td class="line"> <span class='keyword'>int</span> awidth;</td></tr>
+<tr class="codeline" data-linenumber="3307"><td class="num" id="LN3307">3307</td><td class="line"> <span class='keyword'>int</span> aheight;</td></tr>
+<tr class="codeline" data-linenumber="3308"><td class="num" id="LN3308">3308</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3309"><td class="num" id="LN3309">3309</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3310"><td class="num" id="LN3310">3310</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3311"><td class="num" id="LN3311">3311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3312"><td class="num" id="LN3312">3312</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_drawable (widget))</td></tr>
+<tr class="codeline" data-linenumber="3313"><td class="num" id="LN3313">3313</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3314"><td class="num" id="LN3314">3314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3315"><td class="num" id="LN3315">3315</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw)</td></tr>
+<tr class="codeline" data-linenumber="3316"><td class="num" id="LN3316">3316</td><td class="line"> retval = <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw (widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="3317"><td class="num" id="LN3317">3317</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3318"><td class="num" id="LN3318">3318</td><td class="line"> edges = toplevel-&gt;priv-&gt;edges;</td></tr>
+<tr class="codeline" data-linenumber="3319"><td class="num" id="LN3319">3319</td><td class="line"> panel_frame_draw (widget, cr, edges);</td></tr>
+<tr class="codeline" data-linenumber="3320"><td class="num" id="LN3320">3320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3321"><td class="num" id="LN3321">3321</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3322"><td class="num" id="LN3322">3322</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3323"><td class="num" id="LN3323">3323</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3324"><td class="num" id="LN3324">3324</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3325"><td class="num" id="LN3325">3325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3326"><td class="num" id="LN3326">3326</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3327"><td class="num" id="LN3327">3327</td><td class="line"> awidth = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="3328"><td class="num" id="LN3328">3328</td><td class="line"> aheight = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="3329"><td class="num" id="LN3329">3329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3330"><td class="num" id="LN3330">3330</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3331"><td class="num" id="LN3331">3331</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3332"><td class="num" id="LN3332">3332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3333"><td class="num" id="LN3333">3333</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="3334"><td class="num" id="LN3334">3334</td><td class="line"> gtk_style_context_set_state (context, state);</td></tr>
+<tr class="codeline" data-linenumber="3335"><td class="num" id="LN3335">3335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3336"><td class="num" id="LN3336">3336</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3337"><td class="num" id="LN3337">3337</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3338"><td class="num" id="LN3338">3338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3339"><td class="num" id="LN3339">3339</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3340"><td class="num" id="LN3340">3340</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3341"><td class="num" id="LN3341">3341</td><td class="line"> height = aheight;</td></tr>
+<tr class="codeline" data-linenumber="3342"><td class="num" id="LN3342">3342</td><td class="line"> width = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3343"><td class="num" id="LN3343">3343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3344"><td class="num" id="LN3344">3344</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3345"><td class="num" id="LN3345">3345</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3346"><td class="num" id="LN3346">3346</td><td class="line"> height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3347"><td class="num" id="LN3347">3347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3348"><td class="num" id="LN3348">3348</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3349"><td class="num" id="LN3349">3349</td><td class="line"> height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3350"><td class="num" id="LN3350">3350</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="3351"><td class="num" id="LN3351">3351</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3352"><td class="num" id="LN3352">3352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3353"><td class="num" id="LN3353">3353</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3354"><td class="num" id="LN3354">3354</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3355"><td class="num" id="LN3355">3355</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3356"><td class="num" id="LN3356">3356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3357"><td class="num" id="LN3357">3357</td><td class="line"> x = awidth - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3358"><td class="num" id="LN3358">3358</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3359"><td class="num" id="LN3359">3359</td><td class="line"> x -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3360"><td class="num" id="LN3360">3360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3361"><td class="num" id="LN3361">3361</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3362"><td class="num" id="LN3362">3362</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3363"><td class="num" id="LN3363">3363</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3364"><td class="num" id="LN3364">3364</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3365"><td class="num" id="LN3365">3365</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3366"><td class="num" id="LN3366">3366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3367"><td class="num" id="LN3367">3367</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3368"><td class="num" id="LN3368">3368</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3369"><td class="num" id="LN3369">3369</td><td class="line"> width = awidth;</td></tr>
+<tr class="codeline" data-linenumber="3370"><td class="num" id="LN3370">3370</td><td class="line"> height = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3371"><td class="num" id="LN3371">3371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3372"><td class="num" id="LN3372">3372</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3373"><td class="num" id="LN3373">3373</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3374"><td class="num" id="LN3374">3374</td><td class="line"> width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3375"><td class="num" id="LN3375">3375</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3376"><td class="num" id="LN3376">3376</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3377"><td class="num" id="LN3377">3377</td><td class="line"> width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3378"><td class="num" id="LN3378">3378</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="3379"><td class="num" id="LN3379">3379</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3380"><td class="num" id="LN3380">3380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3381"><td class="num" id="LN3381">3381</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3382"><td class="num" id="LN3382">3382</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3383"><td class="num" id="LN3383">3383</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3384"><td class="num" id="LN3384">3384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3385"><td class="num" id="LN3385">3385</td><td class="line"> y = aheight - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3386"><td class="num" id="LN3386">3386</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3387"><td class="num" id="LN3387">3387</td><td class="line"> y -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3388"><td class="num" id="LN3388">3388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3389"><td class="num" id="LN3389">3389</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3390"><td class="num" id="LN3390">3390</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3391"><td class="num" id="LN3391">3391</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3392"><td class="num" id="LN3392">3392</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3393"><td class="num" id="LN3393">3393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3394"><td class="num" id="LN3394">3394</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="3395"><td class="num" id="LN3395">3395</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3396"><td class="num" id="LN3396">3396</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3397"><td class="num" id="LN3397">3397</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3398"><td class="num" id="LN3398">3398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3399"><td class="num" id="LN3399">3399</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3400"><td class="num" id="LN3400">3400</td><td class="line">panel_toplevel_button_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3401"><td class="num" id="LN3401">3401</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3402"><td class="num" id="LN3402">3402</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3403"><td class="num" id="LN3403">3403</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3404"><td class="num" id="LN3404">3404</td><td class="line"> GtkWidget *event_widget;</td></tr>
+<tr class="codeline" data-linenumber="3405"><td class="num" id="LN3405">3405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3406"><td class="num" id="LN3406">3406</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3407"><td class="num" id="LN3407">3407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3408"><td class="num" id="LN3408">3408</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3409"><td class="num" id="LN3409">3409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3410"><td class="num" id="LN3410">3410</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3411"><td class="num" id="LN3411">3411</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3412"><td class="num" id="LN3412">3412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3413"><td class="num" id="LN3413">3413</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3414"><td class="num" id="LN3414">3414</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3415"><td class="num" id="LN3415">3415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3416"><td class="num" id="LN3416">3416</td><td class="line"> <span class='comment'>/* Get the mouse-button modifier from marco so that only intentional</span></td></tr>
+<tr class="codeline" data-linenumber="3417"><td class="num" id="LN3417">3417</td><td class="line"> <span class='comment'>* moves are considered. We don't this for non-expanded panels since we</span></td></tr>
+<tr class="codeline" data-linenumber="3418"><td class="num" id="LN3418">3418</td><td class="line"> <span class='comment'>* only have the handles that the user can grab. */</span></td></tr>
+<tr class="codeline" data-linenumber="3419"><td class="num" id="LN3419">3419</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;expand || toplevel-&gt;priv-&gt;attached) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3420"><td class="num" id="LN3420">3420</td><td class="line"> (event-&gt;state &amp; GDK_MODIFIER_MASK) != panel_bindings_get_mouse_button_modifier_keymask ())</td></tr>
+<tr class="codeline" data-linenumber="3421"><td class="num" id="LN3421">3421</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3422"><td class="num" id="LN3422">3422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3423"><td class="num" id="LN3423">3423</td><td class="line"> gdk_window_get_user_data (event-&gt;window, (gpointer)&amp;event_widget);</td></tr>
+<tr class="codeline" data-linenumber="3424"><td class="num" id="LN3424">3424</td><td class="line"> <span class='macro'>g_assert (GTK_IS_WIDGET (event_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((event_widget)); GType __t = ((gtk_widget_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 3424<br>, ((const char*) (__func__)), "GTK_IS_WIDGET (event_widget)")<br>; } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3425"><td class="num" id="LN3425">3425</td><td class="line"> gtk_widget_translate_coordinates (event_widget,</td></tr>
+<tr class="codeline" data-linenumber="3426"><td class="num" id="LN3426">3426</td><td class="line"> widget,</td></tr>
+<tr class="codeline" data-linenumber="3427"><td class="num" id="LN3427">3427</td><td class="line"> event-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="3428"><td class="num" id="LN3428">3428</td><td class="line"> event-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="3429"><td class="num" id="LN3429">3429</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="3430"><td class="num" id="LN3430">3430</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_y);</td></tr>
+<tr class="codeline" data-linenumber="3431"><td class="num" id="LN3431">3431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3432"><td class="num" id="LN3432">3432</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3433"><td class="num" id="LN3433">3433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3434"><td class="num" id="LN3434">3434</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3435"><td class="num" id="LN3435">3435</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3436"><td class="num" id="LN3436">3436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3437"><td class="num" id="LN3437">3437</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3438"><td class="num" id="LN3438">3438</td><td class="line">panel_toplevel_button_release_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3439"><td class="num" id="LN3439">3439</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3440"><td class="num" id="LN3440">3440</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3441"><td class="num" id="LN3441">3441</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3442"><td class="num" id="LN3442">3442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3443"><td class="num" id="LN3443">3443</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3444"><td class="num" id="LN3444">3444</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3445"><td class="num" id="LN3445">3445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3446"><td class="num" id="LN3446">3446</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3447"><td class="num" id="LN3447">3447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3448"><td class="num" id="LN3448">3448</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="3449"><td class="num" id="LN3449">3449</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3450"><td class="num" id="LN3450">3450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3451"><td class="num" id="LN3451">3451</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="3452"><td class="num" id="LN3452">3452</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3453"><td class="num" id="LN3453">3453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3454"><td class="num" id="LN3454">3454</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3455"><td class="num" id="LN3455">3455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3456"><td class="num" id="LN3456">3456</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3457"><td class="num" id="LN3457">3457</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3458"><td class="num" id="LN3458">3458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3459"><td class="num" id="LN3459">3459</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3460"><td class="num" id="LN3460">3460</td><td class="line">panel_toplevel_configure_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3461"><td class="num" id="LN3461">3461</td><td class="line"> GdkEventConfigure *event)</td></tr>
+<tr class="codeline" data-linenumber="3462"><td class="num" id="LN3462">3462</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3463"><td class="num" id="LN3463">3463</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3464"><td class="num" id="LN3464">3464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3465"><td class="num" id="LN3465">3465</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3466"><td class="num" id="LN3466">3466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3467"><td class="num" id="LN3467">3467</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3468"><td class="num" id="LN3468">3468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3469"><td class="num" id="LN3469">3469</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3470"><td class="num" id="LN3470">3470</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3471"><td class="num" id="LN3471">3471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3472"><td class="num" id="LN3472">3472</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3473"><td class="num" id="LN3473">3473</td><td class="line">panel_toplevel_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3474"><td class="num" id="LN3474">3474</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="3475"><td class="num" id="LN3475">3475</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3476"><td class="num" id="LN3476">3476</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3477"><td class="num" id="LN3477">3477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3478"><td class="num" id="LN3478">3478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3479"><td class="num" id="LN3479">3479</td><td class="line"> panel_toplevel_handle_grab_op_key_event (toplevel, event))</td></tr>
+<tr class="codeline" data-linenumber="3480"><td class="num" id="LN3480">3480</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3481"><td class="num" id="LN3481">3481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3482"><td class="num" id="LN3482">3482</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event)</td></tr>
+<tr class="codeline" data-linenumber="3483"><td class="num" id="LN3483">3483</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3484"><td class="num" id="LN3484">3484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3485"><td class="num" id="LN3485">3485</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3486"><td class="num" id="LN3486">3486</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3487"><td class="num" id="LN3487">3487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3488"><td class="num" id="LN3488">3488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3489"><td class="num" id="LN3489">3489</td><td class="line">panel_toplevel_state_flags_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3490"><td class="num" id="LN3490">3490</td><td class="line"> GtkStateFlags previous_state)</td></tr>
+<tr class="codeline" data-linenumber="3491"><td class="num" id="LN3491">3491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3492"><td class="num" id="LN3492">3492</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;state_flags_changed (widget,</td></tr>
+<tr class="codeline" data-linenumber="3493"><td class="num" id="LN3493">3493</td><td class="line"> previous_state);</td></tr>
+<tr class="codeline" data-linenumber="3494"><td class="num" id="LN3494">3494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3495"><td class="num" id="LN3495">3495</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3496"><td class="num" id="LN3496">3496</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3497"><td class="num" id="LN3497">3497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3498"><td class="num" id="LN3498">3498</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3499"><td class="num" id="LN3499">3499</td><td class="line">panel_toplevel_motion_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3500"><td class="num" id="LN3500">3500</td><td class="line"> GdkEventMotion *event)</td></tr>
+<tr class="codeline" data-linenumber="3501"><td class="num" id="LN3501">3501</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3502"><td class="num" id="LN3502">3502</td><td class="line"> <span class='keyword'>if</span> (gdk_event_get_screen ((GdkEvent *)event) ==</td></tr>
+<tr class="codeline" data-linenumber="3503"><td class="num" id="LN3503">3503</td><td class="line"> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3504"><td class="num" id="LN3504">3504</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_handle_grab_op_motion_event (</td></tr>
+<tr class="codeline" data-linenumber="3505"><td class="num" id="LN3505">3505</td><td class="line"> <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>, event);</td></tr>
+<tr class="codeline" data-linenumber="3506"><td class="num" id="LN3506">3506</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3507"><td class="num" id="LN3507">3507</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3508"><td class="num" id="LN3508">3508</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3509"><td class="num" id="LN3509">3509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3510"><td class="num" id="LN3510">3510</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3511"><td class="num" id="LN3511">3511</td><td class="line">panel_toplevel_animation_timeout (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3512"><td class="num" id="LN3512">3512</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3513"><td class="num" id="LN3513">3513</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3514"><td class="num" id="LN3514">3514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3515"><td class="num" id="LN3515">3515</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="3516"><td class="num" id="LN3516">3516</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3517"><td class="num" id="LN3517">3517</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3518"><td class="num" id="LN3518">3518</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3519"><td class="num" id="LN3519">3519</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3520"><td class="num" id="LN3520">3520</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3521"><td class="num" id="LN3521">3521</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3522"><td class="num" id="LN3522">3522</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3523"><td class="num" id="LN3523">3523</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3524"><td class="num" id="LN3524">3524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3525"><td class="num" id="LN3525">3525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3526"><td class="num" id="LN3526">3526</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animating;</td></tr>
+<tr class="codeline" data-linenumber="3527"><td class="num" id="LN3527">3527</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3528"><td class="num" id="LN3528">3528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3529"><td class="num" id="LN3529">3529</td><td class="line"><span class='keyword'>static</span> GTimeSpan</td></tr>
+<tr class="codeline" data-linenumber="3530"><td class="num" id="LN3530">3530</td><td class="line">panel_toplevel_get_animation_time (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3531"><td class="num" id="LN3531">3531</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3532"><td class="num" id="LN3532">3532</td><td class="line"> <span class='comment'>/* The number of seconds to complete the animation.</span></td></tr>
+<tr class="codeline" data-linenumber="3533"><td class="num" id="LN3533">3533</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3534"><td class="num" id="LN3534">3534</td><td class="line"><span class='directive'>#define ANIMATION_TIME_FAST 400</span></td></tr>
+<tr class="codeline" data-linenumber="3535"><td class="num" id="LN3535">3535</td><td class="line"><span class='directive'>#define ANIMATION_TIME_MEDIUM 1200</span></td></tr>
+<tr class="codeline" data-linenumber="3536"><td class="num" id="LN3536">3536</td><td class="line"><span class='directive'>#define ANIMATION_TIME_SLOW 2000</span></td></tr>
+<tr class="codeline" data-linenumber="3537"><td class="num" id="LN3537">3537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3538"><td class="num" id="LN3538">3538</td><td class="line"> GTimeSpan t;</td></tr>
+<tr class="codeline" data-linenumber="3539"><td class="num" id="LN3539">3539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3540"><td class="num" id="LN3540">3540</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;animation_speed) {</td></tr>
+<tr class="codeline" data-linenumber="3541"><td class="num" id="LN3541">3541</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_SLOW:</td></tr>
+<tr class="codeline" data-linenumber="3542"><td class="num" id="LN3542">3542</td><td class="line"> t = ANIMATION_TIME_SLOW * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3543"><td class="num" id="LN3543">3543</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3544"><td class="num" id="LN3544">3544</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_MEDIUM:</td></tr>
+<tr class="codeline" data-linenumber="3545"><td class="num" id="LN3545">3545</td><td class="line"> t = ANIMATION_TIME_MEDIUM * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3546"><td class="num" id="LN3546">3546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3547"><td class="num" id="LN3547">3547</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_FAST:</td></tr>
+<tr class="codeline" data-linenumber="3548"><td class="num" id="LN3548">3548</td><td class="line"> t = ANIMATION_TIME_FAST * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3549"><td class="num" id="LN3549">3549</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3550"><td class="num" id="LN3550">3550</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3551"><td class="num" id="LN3551">3551</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3551, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3552"><td class="num" id="LN3552">3552</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3553"><td class="num" id="LN3553">3553</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3554"><td class="num" id="LN3554">3554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3555"><td class="num" id="LN3555">3555</td><td class="line"> <span class='keyword'>return</span> t;</td></tr>
+<tr class="codeline" data-linenumber="3556"><td class="num" id="LN3556">3556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3557"><td class="num" id="LN3557">3557</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_FAST</span></td></tr>
+<tr class="codeline" data-linenumber="3558"><td class="num" id="LN3558">3558</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_MEDIUM</span></td></tr>
+<tr class="codeline" data-linenumber="3559"><td class="num" id="LN3559">3559</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_SLOW</span></td></tr>
+<tr class="codeline" data-linenumber="3560"><td class="num" id="LN3560">3560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3561"><td class="num" id="LN3561">3561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3562"><td class="num" id="LN3562">3562</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3563"><td class="num" id="LN3563">3563</td><td class="line">panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3564"><td class="num" id="LN3564">3564</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3565"><td class="num" id="LN3565">3565</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="3566"><td class="num" id="LN3566">3566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3567"><td class="num" id="LN3567">3567</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="3568"><td class="num" id="LN3568">3568</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="3569"><td class="num" id="LN3569">3569</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3570"><td class="num" id="LN3570">3570</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3571"><td class="num" id="LN3571">3571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3572"><td class="num" id="LN3572">3572</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="3573"><td class="num" id="LN3573">3573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3574"><td class="num" id="LN3574">3574</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="3575"><td class="num" id="LN3575">3575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3576"><td class="num" id="LN3576">3576</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="3577"><td class="num" id="LN3577">3577</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x =</td></tr>
+<tr class="codeline" data-linenumber="3578"><td class="num" id="LN3578">3578</td><td class="line"> (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3579"><td class="num" id="LN3579">3579</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="3580"><td class="num" id="LN3580">3580</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y =</td></tr>
+<tr class="codeline" data-linenumber="3581"><td class="num" id="LN3581">3581</td><td class="line"> (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3582"><td class="num" id="LN3582">3582</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3583"><td class="num" id="LN3583">3583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3584"><td class="num" id="LN3584">3584</td><td class="line"> <span class='comment'>/* we consider the toplevels which are in the initial animation stage</span></td></tr>
+<tr class="codeline" data-linenumber="3585"><td class="num" id="LN3585">3585</td><td class="line"> <span class='comment'>* as in a normal state */</span></td></tr>
+<tr class="codeline" data-linenumber="3586"><td class="num" id="LN3586">3586</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="3587"><td class="num" id="LN3587">3587</td><td class="line"> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3588"><td class="num" id="LN3588">3588</td><td class="line"> !toplevel-&gt;priv-&gt;auto_hide))</td></tr>
+<tr class="codeline" data-linenumber="3589"><td class="num" id="LN3589">3589</td><td class="line"> panel_toplevel_update_normal_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3590"><td class="num" id="LN3590">3590</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3591"><td class="num" id="LN3591">3591</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3592"><td class="num" id="LN3592">3592</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3593"><td class="num" id="LN3593">3593</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3594"><td class="num" id="LN3594">3594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3595"><td class="num" id="LN3595">3595</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3596"><td class="num" id="LN3596">3596</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3597"><td class="num" id="LN3597">3597</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3598"><td class="num" id="LN3598">3598</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3599"><td class="num" id="LN3599">3599</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3600"><td class="num" id="LN3600">3600</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="3601"><td class="num" id="LN3601">3601</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3602"><td class="num" id="LN3602">3602</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3603"><td class="num" id="LN3603">3603</td><td class="line"> panel_toplevel_update_hidden_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3604"><td class="num" id="LN3604">3604</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3605"><td class="num" id="LN3605">3605</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3606"><td class="num" id="LN3606">3606</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3607"><td class="num" id="LN3607">3607</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3608"><td class="num" id="LN3608">3608</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3609"><td class="num" id="LN3609">3609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3610"><td class="num" id="LN3610">3610</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3611"><td class="num" id="LN3611">3611</td><td class="line">panel_toplevel_start_animation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3612"><td class="num" id="LN3612">3612</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3613"><td class="num" id="LN3613">3613</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3614"><td class="num" id="LN3614">3614</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="3615"><td class="num" id="LN3615">3615</td><td class="line"> <span class='keyword'>int</span> cur_x = -1, cur_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3616"><td class="num" id="LN3616">3616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3617"><td class="num" id="LN3617">3617</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3618"><td class="num" id="LN3618">3618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3619"><td class="num" id="LN3619">3619</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3620"><td class="num" id="LN3620">3620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3621"><td class="num" id="LN3621">3621</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3622"><td class="num" id="LN3622">3622</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3623"><td class="num" id="LN3623">3623</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3624"><td class="num" id="LN3624">3624</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3625"><td class="num" id="LN3625">3625</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3626"><td class="num" id="LN3626">3626</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3627"><td class="num" id="LN3627">3627</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3628"><td class="num" id="LN3628">3628</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3629"><td class="num" id="LN3629">3629</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3630"><td class="num" id="LN3630">3630</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3631"><td class="num" id="LN3631">3631</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3632"><td class="num" id="LN3632">3632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3633"><td class="num" id="LN3633">3633</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>), &amp;cur_x, &amp;cur_y);</td></tr>
+<tr class="codeline" data-linenumber="3634"><td class="num" id="LN3634">3634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3635"><td class="num" id="LN3635">3635</td><td class="line"> cur_x -= panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3636"><td class="num" id="LN3636">3636</td><td class="line"> cur_y -= panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3637"><td class="num" id="LN3637">3637</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3638"><td class="num" id="LN3638">3638</td><td class="line"> deltax = toplevel-&gt;priv-&gt;animation_end_x - cur_x;</td></tr>
+<tr class="codeline" data-linenumber="3639"><td class="num" id="LN3639">3639</td><td class="line"> deltay = toplevel-&gt;priv-&gt;animation_end_y - cur_y;</td></tr>
+<tr class="codeline" data-linenumber="3640"><td class="num" id="LN3640">3640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3641"><td class="num" id="LN3641">3641</td><td class="line"> gtk_widget_get_preferred_size (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3642"><td class="num" id="LN3642">3642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3643"><td class="num" id="LN3643">3643</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="3644"><td class="num" id="LN3644">3644</td><td class="line"> deltaw = toplevel-&gt;priv-&gt;animation_end_width - requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3645"><td class="num" id="LN3645">3645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3646"><td class="num" id="LN3646">3646</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="3647"><td class="num" id="LN3647">3647</td><td class="line"> deltah = toplevel-&gt;priv-&gt;animation_end_height - requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3648"><td class="num" id="LN3648">3648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3649"><td class="num" id="LN3649">3649</td><td class="line"> <span class='keyword'>if</span> (deltax == 0 &amp;&amp; deltay == 0 &amp;&amp; deltaw == 0 &amp;&amp; deltah == 0) {</td></tr>
+<tr class="codeline" data-linenumber="3650"><td class="num" id="LN3650">3650</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3651"><td class="num" id="LN3651">3651</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3652"><td class="num" id="LN3652">3652</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3653"><td class="num" id="LN3653">3653</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3654"><td class="num" id="LN3654">3654</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3655"><td class="num" id="LN3655">3655</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3656"><td class="num" id="LN3656">3656</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3657"><td class="num" id="LN3657">3657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3658"><td class="num" id="LN3658">3658</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3659"><td class="num" id="LN3659">3659</td><td class="line"> <span class='comment'>/* Re-map unmapped attached toplevels */</span></td></tr>
+<tr class="codeline" data-linenumber="3660"><td class="num" id="LN3660">3660</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3661"><td class="num" id="LN3661">3661</td><td class="line"> gtk_widget_set_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3662"><td class="num" id="LN3662">3662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3663"><td class="num" id="LN3663">3663</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_mapped (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3664"><td class="num" id="LN3664">3664</td><td class="line"> gtk_widget_map (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3665"><td class="num" id="LN3665">3665</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3666"><td class="num" id="LN3666">3666</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_window_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3667"><td class="num" id="LN3667">3667</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3668"><td class="num" id="LN3668">3668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3669"><td class="num" id="LN3669">3669</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = g_get_monotonic_time ();</td></tr>
+<tr class="codeline" data-linenumber="3670"><td class="num" id="LN3670">3670</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = panel_toplevel_get_animation_time (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3671"><td class="num" id="LN3671">3671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3672"><td class="num" id="LN3672">3672</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3673"><td class="num" id="LN3673">3673</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3674"><td class="num" id="LN3674">3674</td><td class="line"> g_timeout_add (20, (GSourceFunc) panel_toplevel_animation_timeout, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3675"><td class="num" id="LN3675">3675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3676"><td class="num" id="LN3676">3676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3677"><td class="num" id="LN3677">3677</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3678"><td class="num" id="LN3678">3678</td><td class="line">panel_toplevel_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3679"><td class="num" id="LN3679">3679</td><td class="line"> gboolean auto_hide,</td></tr>
+<tr class="codeline" data-linenumber="3680"><td class="num" id="LN3680">3680</td><td class="line"> gint direction)</td></tr>
+<tr class="codeline" data-linenumber="3681"><td class="num" id="LN3681">3681</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3682"><td class="num" id="LN3682">3682</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3683"><td class="num" id="LN3683">3683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3684"><td class="num" id="LN3684">3684</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3685"><td class="num" id="LN3685">3685</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3686"><td class="num" id="LN3686">3686</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3687"><td class="num" id="LN3687">3687</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [HIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3688"><td class="num" id="LN3688">3688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3689"><td class="num" id="LN3689">3689</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3690"><td class="num" id="LN3690">3690</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3691"><td class="num" id="LN3691">3691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3692"><td class="num" id="LN3692">3692</td><td class="line"> <span class='keyword'>if</span> (auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3693"><td class="num" id="LN3693">3693</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="3694"><td class="num" id="LN3694">3694</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3695"><td class="num" id="LN3695">3695</td><td class="line"> GtkDirectionType hide_direction;</td></tr>
+<tr class="codeline" data-linenumber="3696"><td class="num" id="LN3696">3696</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3697"><td class="num" id="LN3697">3697</td><td class="line"> <span class='keyword'>if</span> (direction == -1) {</td></tr>
+<tr class="codeline" data-linenumber="3698"><td class="num" id="LN3698">3698</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3699"><td class="num" id="LN3699">3699</td><td class="line"> hide_direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="3700"><td class="num" id="LN3700">3700</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3701"><td class="num" id="LN3701">3701</td><td class="line"> hide_direction = GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3702"><td class="num" id="LN3702">3702</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3703"><td class="num" id="LN3703">3703</td><td class="line"> hide_direction = (GtkDirectionType) direction;</td></tr>
+<tr class="codeline" data-linenumber="3704"><td class="num" id="LN3704">3704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3705"><td class="num" id="LN3705">3705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3706"><td class="num" id="LN3706">3706</td><td class="line"> <span class='keyword'>switch</span> (hide_direction) {</td></tr>
+<tr class="codeline" data-linenumber="3707"><td class="num" id="LN3707">3707</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_UP:</td></tr>
+<tr class="codeline" data-linenumber="3708"><td class="num" id="LN3708">3708</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3709"><td class="num" id="LN3709">3709</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="3710"><td class="num" id="LN3710">3710</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3711"><td class="num" id="LN3711">3711</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="3712"><td class="num" id="LN3712">3712</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3713"><td class="num" id="LN3713">3713</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="3714"><td class="num" id="LN3714">3714</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3715"><td class="num" id="LN3715">3715</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="3716"><td class="num" id="LN3716">3716</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3717"><td class="num" id="LN3717">3717</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3718"><td class="num" id="LN3718">3718</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3719"><td class="num" id="LN3719">3719</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="3720"><td class="num" id="LN3720">3720</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3721"><td class="num" id="LN3721">3721</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="3722"><td class="num" id="LN3722">3722</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3723"><td class="num" id="LN3723">3723</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3724"><td class="num" id="LN3724">3724</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3724, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3725"><td class="num" id="LN3725">3725</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3726"><td class="num" id="LN3726">3726</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3727"><td class="num" id="LN3727">3727</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3728"><td class="num" id="LN3728">3728</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3729"><td class="num" id="LN3729">3729</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3730"><td class="num" id="LN3730">3730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3731"><td class="num" id="LN3731">3731</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3732"><td class="num" id="LN3732">3732</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3733"><td class="num" id="LN3733">3733</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3734"><td class="num" id="LN3734">3734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3735"><td class="num" id="LN3735">3735</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), hide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3736"><td class="num" id="LN3736">3736</td><td class="line"> <span class='comment'>* this hides the hide button properly as well */</span></td></tr>
+<tr class="codeline" data-linenumber="3737"><td class="num" id="LN3737">3737</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3738"><td class="num" id="LN3738">3738</td><td class="line"> gtk_widget_hide (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3739"><td class="num" id="LN3739">3739</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3740"><td class="num" id="LN3740">3740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3741"><td class="num" id="LN3741">3741</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3742"><td class="num" id="LN3742">3742</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3743"><td class="num" id="LN3743">3743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3744"><td class="num" id="LN3744">3744</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3745"><td class="num" id="LN3745">3745</td><td class="line">panel_toplevel_auto_hide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3746"><td class="num" id="LN3746">3746</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3747"><td class="num" id="LN3747">3747</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3748"><td class="num" id="LN3748">3748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3749"><td class="num" id="LN3749">3749</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_autohide_disabled (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="3750"><td class="num" id="LN3750">3750</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3751"><td class="num" id="LN3751">3751</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3752"><td class="num" id="LN3752">3752</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3753"><td class="num" id="LN3753">3753</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3754"><td class="num" id="LN3754">3754</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3755"><td class="num" id="LN3755">3755</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3756"><td class="num" id="LN3756">3756</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3757"><td class="num" id="LN3757">3757</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3758"><td class="num" id="LN3758">3758</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3759"><td class="num" id="LN3759">3759</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3760"><td class="num" id="LN3760">3760</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3761"><td class="num" id="LN3761">3761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3762"><td class="num" id="LN3762">3762</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3763"><td class="num" id="LN3763">3763</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3764"><td class="num" id="LN3764">3764</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3765"><td class="num" id="LN3765">3765</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3766"><td class="num" id="LN3766">3766</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3767"><td class="num" id="LN3767">3767</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3768"><td class="num" id="LN3768">3768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3769"><td class="num" id="LN3769">3769</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3770"><td class="num" id="LN3770">3770</td><td class="line">panel_toplevel_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3771"><td class="num" id="LN3771">3771</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3772"><td class="num" id="LN3772">3772</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3773"><td class="num" id="LN3773">3773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3774"><td class="num" id="LN3774">3774</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3775"><td class="num" id="LN3775">3775</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3776"><td class="num" id="LN3776">3776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3777"><td class="num" id="LN3777">3777</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="3778"><td class="num" id="LN3778">3778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3779"><td class="num" id="LN3779">3779</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3780"><td class="num" id="LN3780">3780</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3781"><td class="num" id="LN3781">3781</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3782"><td class="num" id="LN3782">3782</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3783"><td class="num" id="LN3783">3783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3784"><td class="num" id="LN3784">3784</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3785"><td class="num" id="LN3785">3785</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3786"><td class="num" id="LN3786">3786</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3787"><td class="num" id="LN3787">3787</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3788"><td class="num" id="LN3788">3788</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), unhide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3789"><td class="num" id="LN3789">3789</td><td class="line"> <span class='comment'>* (same as for hide) */</span></td></tr>
+<tr class="codeline" data-linenumber="3790"><td class="num" id="LN3790">3790</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3791"><td class="num" id="LN3791">3791</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3792"><td class="num" id="LN3792">3792</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3793"><td class="num" id="LN3793">3793</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3794"><td class="num" id="LN3794">3794</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3795"><td class="num" id="LN3795">3795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3796"><td class="num" id="LN3796">3796</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3797"><td class="num" id="LN3797">3797</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3798"><td class="num" id="LN3798">3798</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3799"><td class="num" id="LN3799">3799</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3800"><td class="num" id="LN3800">3800</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3801"><td class="num" id="LN3801">3801</td><td class="line">panel_toplevel_auto_unhide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3802"><td class="num" id="LN3802">3802</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3803"><td class="num" id="LN3803">3803</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3804"><td class="num" id="LN3804">3804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3805"><td class="num" id="LN3805">3805</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3806"><td class="num" id="LN3806">3806</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3807"><td class="num" id="LN3807">3807</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3808"><td class="num" id="LN3808">3808</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3809"><td class="num" id="LN3809">3809</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3810"><td class="num" id="LN3810">3810</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3811"><td class="num" id="LN3811">3811</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3812"><td class="num" id="LN3812">3812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3813"><td class="num" id="LN3813">3813</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3814"><td class="num" id="LN3814">3814</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3815"><td class="num" id="LN3815">3815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3816"><td class="num" id="LN3816">3816</td><td class="line"> <span class='comment'>/* initial animation for auto-hidden panels: we need to unhide and hide</span></td></tr>
+<tr class="codeline" data-linenumber="3817"><td class="num" id="LN3817">3817</td><td class="line"> <span class='comment'>* again to get at the right size */</span></td></tr>
+<tr class="codeline" data-linenumber="3818"><td class="num" id="LN3818">3818</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3819"><td class="num" id="LN3819">3819</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3820"><td class="num" id="LN3820">3820</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3821"><td class="num" id="LN3821">3821</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3822"><td class="num" id="LN3822">3822</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3823"><td class="num" id="LN3823">3823</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3824"><td class="num" id="LN3824">3824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3825"><td class="num" id="LN3825">3825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3826"><td class="num" id="LN3826">3826</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_contains_pointer (toplevel) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3827"><td class="num" id="LN3827">3827</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3828"><td class="num" id="LN3828">3828</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3829"><td class="num" id="LN3829">3829</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3830"><td class="num" id="LN3830">3830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3831"><td class="num" id="LN3831">3831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3832"><td class="num" id="LN3832">3832</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3833"><td class="num" id="LN3833">3833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3834"><td class="num" id="LN3834">3834</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3835"><td class="num" id="LN3835">3835</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3836"><td class="num" id="LN3836">3836</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3837"><td class="num" id="LN3837">3837</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3838"><td class="num" id="LN3838">3838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3839"><td class="num" id="LN3839">3839</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3840"><td class="num" id="LN3840">3840</td><td class="line">panel_toplevel_queue_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3841"><td class="num" id="LN3841">3841</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3842"><td class="num" id="LN3842">3842</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3843"><td class="num" id="LN3843">3843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3844"><td class="num" id="LN3844">3844</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;auto_hide ||</td></tr>
+<tr class="codeline" data-linenumber="3845"><td class="num" id="LN3845">3845</td><td class="line"> panel_toplevel_contains_pointer (toplevel) ||</td></tr>
+<tr class="codeline" data-linenumber="3846"><td class="num" id="LN3846">3846</td><td class="line"> panel_toplevel_get_autohide_disabled (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="3847"><td class="num" id="LN3847">3847</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3848"><td class="num" id="LN3848">3848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3849"><td class="num" id="LN3849">3849</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3850"><td class="num" id="LN3850">3850</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3851"><td class="num" id="LN3851">3851</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3852"><td class="num" id="LN3852">3852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3853"><td class="num" id="LN3853">3853</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout ||</td></tr>
+<tr class="codeline" data-linenumber="3854"><td class="num" id="LN3854">3854</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3855"><td class="num" id="LN3855">3855</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3856"><td class="num" id="LN3856">3856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3857"><td class="num" id="LN3857">3857</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3858"><td class="num" id="LN3858">3858</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3859"><td class="num" id="LN3859">3859</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;hide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3860"><td class="num" id="LN3860">3860</td><td class="line"> (GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3861"><td class="num" id="LN3861">3861</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3862"><td class="num" id="LN3862">3862</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3863"><td class="num" id="LN3863">3863</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3864"><td class="num" id="LN3864">3864</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3865"><td class="num" id="LN3865">3865</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3866"><td class="num" id="LN3866">3866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3867"><td class="num" id="LN3867">3867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3868"><td class="num" id="LN3868">3868</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3869"><td class="num" id="LN3869">3869</td><td class="line">panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3870"><td class="num" id="LN3870">3870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3871"><td class="num" id="LN3871">3871</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3872"><td class="num" id="LN3872">3872</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3873"><td class="num" id="LN3873">3873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3874"><td class="num" id="LN3874">3874</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3875"><td class="num" id="LN3875">3875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3876"><td class="num" id="LN3876">3876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3877"><td class="num" id="LN3877">3877</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3878"><td class="num" id="LN3878">3878</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3879"><td class="num" id="LN3879">3879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3880"><td class="num" id="LN3880">3880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3881"><td class="num" id="LN3881">3881</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3882"><td class="num" id="LN3882">3882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3883"><td class="num" id="LN3883">3883</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3884"><td class="num" id="LN3884">3884</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3885"><td class="num" id="LN3885">3885</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;unhide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3886"><td class="num" id="LN3886">3886</td><td class="line"> (GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3887"><td class="num" id="LN3887">3887</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3888"><td class="num" id="LN3888">3888</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3889"><td class="num" id="LN3889">3889</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3890"><td class="num" id="LN3890">3890</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3891"><td class="num" id="LN3891">3891</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3892"><td class="num" id="LN3892">3892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3893"><td class="num" id="LN3893">3893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3894"><td class="num" id="LN3894">3894</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3895"><td class="num" id="LN3895">3895</td><td class="line">panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3896"><td class="num" id="LN3896">3896</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3897"><td class="num" id="LN3897">3897</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3898"><td class="num" id="LN3898">3898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3899"><td class="num" id="LN3899">3899</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;initial_animation_done)</td></tr>
+<tr class="codeline" data-linenumber="3900"><td class="num" id="LN3900">3900</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3901"><td class="num" id="LN3901">3901</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3902"><td class="num" id="LN3902">3902</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3903"><td class="num" id="LN3903">3903</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3904"><td class="num" id="LN3904">3904</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3905"><td class="num" id="LN3905">3905</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3906"><td class="num" id="LN3906">3906</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3907"><td class="num" id="LN3907">3907</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3908"><td class="num" id="LN3908">3908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3909"><td class="num" id="LN3909">3909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3910"><td class="num" id="LN3910">3910</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3911"><td class="num" id="LN3911">3911</td><td class="line">panel_toplevel_enter_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3912"><td class="num" id="LN3912">3912</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3913"><td class="num" id="LN3913">3913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3914"><td class="num" id="LN3914">3914</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3915"><td class="num" id="LN3915">3915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3916"><td class="num" id="LN3916">3916</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3917"><td class="num" id="LN3917">3917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3918"><td class="num" id="LN3918">3918</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3919"><td class="num" id="LN3919">3919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3920"><td class="num" id="LN3920">3920</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3921"><td class="num" id="LN3921">3921</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3922"><td class="num" id="LN3922">3922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3923"><td class="num" id="LN3923">3923</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3924"><td class="num" id="LN3924">3924</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3925"><td class="num" id="LN3925">3925</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3926"><td class="num" id="LN3926">3926</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3927"><td class="num" id="LN3927">3927</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3928"><td class="num" id="LN3928">3928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3929"><td class="num" id="LN3929">3929</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3930"><td class="num" id="LN3930">3930</td><td class="line">panel_toplevel_leave_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3931"><td class="num" id="LN3931">3931</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3932"><td class="num" id="LN3932">3932</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3933"><td class="num" id="LN3933">3933</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3934"><td class="num" id="LN3934">3934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3935"><td class="num" id="LN3935">3935</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3936"><td class="num" id="LN3936">3936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3937"><td class="num" id="LN3937">3937</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3938"><td class="num" id="LN3938">3938</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3939"><td class="num" id="LN3939">3939</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3940"><td class="num" id="LN3940">3940</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3941"><td class="num" id="LN3941">3941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3942"><td class="num" id="LN3942">3942</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3943"><td class="num" id="LN3943">3943</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3944"><td class="num" id="LN3944">3944</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3945"><td class="num" id="LN3945">3945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3946"><td class="num" id="LN3946">3946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3947"><td class="num" id="LN3947">3947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3948"><td class="num" id="LN3948">3948</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3949"><td class="num" id="LN3949">3949</td><td class="line">panel_toplevel_focus_in_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3950"><td class="num" id="LN3950">3950</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3951"><td class="num" id="LN3951">3951</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3952"><td class="num" id="LN3952">3952</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3953"><td class="num" id="LN3953">3953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3954"><td class="num" id="LN3954">3954</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3955"><td class="num" id="LN3955">3955</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3956"><td class="num" id="LN3956">3956</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3957"><td class="num" id="LN3957">3957</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event)</td></tr>
+<tr class="codeline" data-linenumber="3958"><td class="num" id="LN3958">3958</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3959"><td class="num" id="LN3959">3959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3960"><td class="num" id="LN3960">3960</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3961"><td class="num" id="LN3961">3961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3962"><td class="num" id="LN3962">3962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3963"><td class="num" id="LN3963">3963</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3964"><td class="num" id="LN3964">3964</td><td class="line">panel_toplevel_focus_out_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3965"><td class="num" id="LN3965">3965</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3966"><td class="num" id="LN3966">3966</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3967"><td class="num" id="LN3967">3967</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3968"><td class="num" id="LN3968">3968</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3969"><td class="num" id="LN3969">3969</td><td class="line"> <span class='comment'>/* It appears that sometimes we don't get a leave notify event,</span></td></tr>
+<tr class="codeline" data-linenumber="3970"><td class="num" id="LN3970">3970</td><td class="line"> <span class='comment'>but just a focus in/out, so queue the autohide in that case.</span></td></tr>
+<tr class="codeline" data-linenumber="3971"><td class="num" id="LN3971">3971</td><td class="line"> <span class='comment'>If the pointer is inside the panel then obviously we won't hide */</span></td></tr>
+<tr class="codeline" data-linenumber="3972"><td class="num" id="LN3972">3972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3973"><td class="num" id="LN3973">3973</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3974"><td class="num" id="LN3974">3974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3975"><td class="num" id="LN3975">3975</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event)</td></tr>
+<tr class="codeline" data-linenumber="3976"><td class="num" id="LN3976">3976</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3977"><td class="num" id="LN3977">3977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3978"><td class="num" id="LN3978">3978</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3979"><td class="num" id="LN3979">3979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3980"><td class="num" id="LN3980">3980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3981"><td class="num" id="LN3981">3981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3982"><td class="num" id="LN3982">3982</td><td class="line">panel_toplevel_style_updated (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3983"><td class="num" id="LN3983">3983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3984"><td class="num" id="LN3984">3984</td><td class="line"> panel_toplevel_update_hide_buttons (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3985"><td class="num" id="LN3985">3985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3986"><td class="num" id="LN3986">3986</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated)</td></tr>
+<tr class="codeline" data-linenumber="3987"><td class="num" id="LN3987">3987</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated (widget);</td></tr>
+<tr class="codeline" data-linenumber="3988"><td class="num" id="LN3988">3988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3989"><td class="num" id="LN3989">3989</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3990"><td class="num" id="LN3990">3990</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3991"><td class="num" id="LN3991">3991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3992"><td class="num" id="LN3992">3992</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3993"><td class="num" id="LN3993">3993</td><td class="line">panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3994"><td class="num" id="LN3994">3994</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3995"><td class="num" id="LN3995">3995</td><td class="line"> <span class='keyword'>int</span> threshold;</td></tr>
+<tr class="codeline" data-linenumber="3996"><td class="num" id="LN3996">3996</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3997"><td class="num" id="LN3997">3997</td><td class="line"> threshold = 0;</td></tr>
+<tr class="codeline" data-linenumber="3998"><td class="num" id="LN3998">3998</td><td class="line"> g_object_get (<span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;gtk_settings)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;gtk_settings)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="3999"><td class="num" id="LN3999">3999</td><td class="line"> <span class='string_literal'>"gtk-dnd-drag-threshold"</span>, &amp;threshold,</td></tr>
+<tr class="codeline" data-linenumber="4000"><td class="num" id="LN4000">4000</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4001"><td class="num" id="LN4001">4001</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4002"><td class="num" id="LN4002">4002</td><td class="line"> <span class='keyword'>if</span> (threshold)</td></tr>
+<tr class="codeline" data-linenumber="4003"><td class="num" id="LN4003">4003</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = threshold * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4004"><td class="num" id="LN4004">4004</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4005"><td class="num" id="LN4005">4005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4006"><td class="num" id="LN4006">4006</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4007"><td class="num" id="LN4007">4007</td><td class="line">panel_toplevel_update_gtk_settings (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4008"><td class="num" id="LN4008">4008</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4009"><td class="num" id="LN4009">4009</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings)</td></tr>
+<tr class="codeline" data-linenumber="4010"><td class="num" id="LN4010">4010</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4011"><td class="num" id="LN4011">4011</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4012"><td class="num" id="LN4012">4012</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4013"><td class="num" id="LN4013">4013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4014"><td class="num" id="LN4014">4014</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = gtk_widget_get_settings (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;panel_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;panel_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4015"><td class="num" id="LN4015">4015</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4016"><td class="num" id="LN4016">4016</td><td class="line"> <span class='macro'>g_signal_connect_swapped (toplevel-&gt;priv-&gt;gtk_settings, <span class='string_literal'>"notify::gtk-dnd-drag-threshold"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4017"><td class="num" id="LN4017">4017</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4018"><td class="num" id="LN4018">4018</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4019"><td class="num" id="LN4019">4019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4020"><td class="num" id="LN4020">4020</td><td class="line"> panel_toplevel_drag_threshold_changed (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4021"><td class="num" id="LN4021">4021</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4022"><td class="num" id="LN4022">4022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4023"><td class="num" id="LN4023">4023</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4024"><td class="num" id="LN4024">4024</td><td class="line">panel_toplevel_screen_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="4025"><td class="num" id="LN4025">4025</td><td class="line"> GdkScreen *previous_screen)</td></tr>
+<tr class="codeline" data-linenumber="4026"><td class="num" id="LN4026">4026</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4027"><td class="num" id="LN4027">4027</td><td class="line"> panel_toplevel_update_gtk_settings (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4028"><td class="num" id="LN4028">4028</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4029"><td class="num" id="LN4029">4029</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed)</td></tr>
+<tr class="codeline" data-linenumber="4030"><td class="num" id="LN4030">4030</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed (widget, previous_screen);</td></tr>
+<tr class="codeline" data-linenumber="4031"><td class="num" id="LN4031">4031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4032"><td class="num" id="LN4032">4032</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="4033"><td class="num" id="LN4033">4033</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4034"><td class="num" id="LN4034">4034</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4035"><td class="num" id="LN4035">4035</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4036"><td class="num" id="LN4036">4036</td><td class="line">panel_toplevel_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4037"><td class="num" id="LN4037">4037</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4038"><td class="num" id="LN4038">4038</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4039"><td class="num" id="LN4039">4039</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4040"><td class="num" id="LN4040">4040</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4041"><td class="num" id="LN4041">4041</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4042"><td class="num" id="LN4042">4042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4043"><td class="num" id="LN4043">4043</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4044"><td class="num" id="LN4044">4044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4045"><td class="num" id="LN4045">4045</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4046"><td class="num" id="LN4046">4046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4047"><td class="num" id="LN4047">4047</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4048"><td class="num" id="LN4048">4048</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4049"><td class="num" id="LN4049">4049</td><td class="line"> panel_toplevel_set_name (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4050"><td class="num" id="LN4050">4050</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4051"><td class="num" id="LN4051">4051</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4052"><td class="num" id="LN4052">4052</td><td class="line"> panel_toplevel_set_settings_path (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4053"><td class="num" id="LN4053">4053</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4054"><td class="num" id="LN4054">4054</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4055"><td class="num" id="LN4055">4055</td><td class="line"> panel_toplevel_set_expand (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4056"><td class="num" id="LN4056">4056</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4057"><td class="num" id="LN4057">4057</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4058"><td class="num" id="LN4058">4058</td><td class="line"> panel_toplevel_set_orientation (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4059"><td class="num" id="LN4059">4059</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4060"><td class="num" id="LN4060">4060</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4061"><td class="num" id="LN4061">4061</td><td class="line"> panel_toplevel_set_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4062"><td class="num" id="LN4062">4062</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4063"><td class="num" id="LN4063">4063</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4064"><td class="num" id="LN4064">4064</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4065"><td class="num" id="LN4065">4065</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4066"><td class="num" id="LN4066">4066</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4067"><td class="num" id="LN4067">4067</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4068"><td class="num" id="LN4068">4068</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4069"><td class="num" id="LN4069">4069</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4070"><td class="num" id="LN4070">4070</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4071"><td class="num" id="LN4071">4071</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4072"><td class="num" id="LN4072">4072</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4073"><td class="num" id="LN4073">4073</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4074"><td class="num" id="LN4074">4074</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4075"><td class="num" id="LN4075">4075</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4076"><td class="num" id="LN4076">4076</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4077"><td class="num" id="LN4077">4077</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4078"><td class="num" id="LN4078">4078</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4079"><td class="num" id="LN4079">4079</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4080"><td class="num" id="LN4080">4080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4081"><td class="num" id="LN4081">4081</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4082"><td class="num" id="LN4082">4082</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4083"><td class="num" id="LN4083">4083</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4084"><td class="num" id="LN4084">4084</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4085"><td class="num" id="LN4085">4085</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4086"><td class="num" id="LN4086">4086</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4087"><td class="num" id="LN4087">4087</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4088"><td class="num" id="LN4088">4088</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4089"><td class="num" id="LN4089">4089</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4090"><td class="num" id="LN4090">4090</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4091"><td class="num" id="LN4091">4091</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4092"><td class="num" id="LN4092">4092</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4093"><td class="num" id="LN4093">4093</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4094"><td class="num" id="LN4094">4094</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4095"><td class="num" id="LN4095">4095</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4096"><td class="num" id="LN4096">4096</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4097"><td class="num" id="LN4097">4097</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4098"><td class="num" id="LN4098">4098</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4099"><td class="num" id="LN4099">4099</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4100"><td class="num" id="LN4100">4100</td><td class="line"> panel_toplevel_set_monitor (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4101"><td class="num" id="LN4101">4101</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4102"><td class="num" id="LN4102">4102</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4103"><td class="num" id="LN4103">4103</td><td class="line"> panel_toplevel_set_auto_hide (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4104"><td class="num" id="LN4104">4104</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4105"><td class="num" id="LN4105">4105</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4106"><td class="num" id="LN4106">4106</td><td class="line"> panel_toplevel_set_hide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4107"><td class="num" id="LN4107">4107</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4108"><td class="num" id="LN4108">4108</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4109"><td class="num" id="LN4109">4109</td><td class="line"> panel_toplevel_set_unhide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4110"><td class="num" id="LN4110">4110</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4111"><td class="num" id="LN4111">4111</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4112"><td class="num" id="LN4112">4112</td><td class="line"> panel_toplevel_set_auto_hide_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4113"><td class="num" id="LN4113">4113</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4114"><td class="num" id="LN4114">4114</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4115"><td class="num" id="LN4115">4115</td><td class="line"> panel_toplevel_set_animate (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4116"><td class="num" id="LN4116">4116</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4117"><td class="num" id="LN4117">4117</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4118"><td class="num" id="LN4118">4118</td><td class="line"> panel_toplevel_set_animation_speed (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4119"><td class="num" id="LN4119">4119</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4120"><td class="num" id="LN4120">4120</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4121"><td class="num" id="LN4121">4121</td><td class="line"> panel_toplevel_set_enable_buttons (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4122"><td class="num" id="LN4122">4122</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4123"><td class="num" id="LN4123">4123</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4124"><td class="num" id="LN4124">4124</td><td class="line"> panel_toplevel_set_enable_arrows (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4125"><td class="num" id="LN4125">4125</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4126"><td class="num" id="LN4126">4126</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4127"><td class="num" id="LN4127">4127</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4127, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4128"><td class="num" id="LN4128">4128</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4129"><td class="num" id="LN4129">4129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4130"><td class="num" id="LN4130">4130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4131"><td class="num" id="LN4131">4131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4132"><td class="num" id="LN4132">4132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4133"><td class="num" id="LN4133">4133</td><td class="line">panel_toplevel_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4134"><td class="num" id="LN4134">4134</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4135"><td class="num" id="LN4135">4135</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4136"><td class="num" id="LN4136">4136</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4137"><td class="num" id="LN4137">4137</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4138"><td class="num" id="LN4138">4138</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4139"><td class="num" id="LN4139">4139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4140"><td class="num" id="LN4140">4140</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4141"><td class="num" id="LN4141">4141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4142"><td class="num" id="LN4142">4142</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4143"><td class="num" id="LN4143">4143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4144"><td class="num" id="LN4144">4144</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4145"><td class="num" id="LN4145">4145</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4146"><td class="num" id="LN4146">4146</td><td class="line"> g_value_set_string (value, panel_toplevel_get_name (toplevel));</td></tr>
+<tr class="codeline" data-linenumber="4147"><td class="num" id="LN4147">4147</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4148"><td class="num" id="LN4148">4148</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4149"><td class="num" id="LN4149">4149</td><td class="line"> g_value_set_string (value, toplevel-&gt;priv-&gt;settings_path);</td></tr>
+<tr class="codeline" data-linenumber="4150"><td class="num" id="LN4150">4150</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4151"><td class="num" id="LN4151">4151</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4152"><td class="num" id="LN4152">4152</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4153"><td class="num" id="LN4153">4153</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4154"><td class="num" id="LN4154">4154</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4155"><td class="num" id="LN4155">4155</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="4156"><td class="num" id="LN4156">4156</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4157"><td class="num" id="LN4157">4157</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4158"><td class="num" id="LN4158">4158</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4159"><td class="num" id="LN4159">4159</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4160"><td class="num" id="LN4160">4160</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4161"><td class="num" id="LN4161">4161</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x);</td></tr>
+<tr class="codeline" data-linenumber="4162"><td class="num" id="LN4162">4162</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4163"><td class="num" id="LN4163">4163</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4164"><td class="num" id="LN4164">4164</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x_right);</td></tr>
+<tr class="codeline" data-linenumber="4165"><td class="num" id="LN4165">4165</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4166"><td class="num" id="LN4166">4166</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4167"><td class="num" id="LN4167">4167</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4168"><td class="num" id="LN4168">4168</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4169"><td class="num" id="LN4169">4169</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4170"><td class="num" id="LN4170">4170</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y);</td></tr>
+<tr class="codeline" data-linenumber="4171"><td class="num" id="LN4171">4171</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4172"><td class="num" id="LN4172">4172</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4173"><td class="num" id="LN4173">4173</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4174"><td class="num" id="LN4174">4174</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4175"><td class="num" id="LN4175">4175</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4176"><td class="num" id="LN4176">4176</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4177"><td class="num" id="LN4177">4177</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4178"><td class="num" id="LN4178">4178</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4179"><td class="num" id="LN4179">4179</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="4180"><td class="num" id="LN4180">4180</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4181"><td class="num" id="LN4181">4181</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4182"><td class="num" id="LN4182">4182</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;auto_hide);</td></tr>
+<tr class="codeline" data-linenumber="4183"><td class="num" id="LN4183">4183</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4184"><td class="num" id="LN4184">4184</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4185"><td class="num" id="LN4185">4185</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;hide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4186"><td class="num" id="LN4186">4186</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4187"><td class="num" id="LN4187">4187</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4188"><td class="num" id="LN4188">4188</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;unhide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4189"><td class="num" id="LN4189">4189</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4190"><td class="num" id="LN4190">4190</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4191"><td class="num" id="LN4191">4191</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="4192"><td class="num" id="LN4192">4192</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4193"><td class="num" id="LN4193">4193</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4194"><td class="num" id="LN4194">4194</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;animate);</td></tr>
+<tr class="codeline" data-linenumber="4195"><td class="num" id="LN4195">4195</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4196"><td class="num" id="LN4196">4196</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4197"><td class="num" id="LN4197">4197</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;animation_speed);</td></tr>
+<tr class="codeline" data-linenumber="4198"><td class="num" id="LN4198">4198</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4199"><td class="num" id="LN4199">4199</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4200"><td class="num" id="LN4200">4200</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;buttons_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4201"><td class="num" id="LN4201">4201</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4202"><td class="num" id="LN4202">4202</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4203"><td class="num" id="LN4203">4203</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;arrows_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4204"><td class="num" id="LN4204">4204</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4205"><td class="num" id="LN4205">4205</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4206"><td class="num" id="LN4206">4206</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4206, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4207"><td class="num" id="LN4207">4207</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4208"><td class="num" id="LN4208">4208</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4209"><td class="num" id="LN4209">4209</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4210"><td class="num" id="LN4210">4210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4211"><td class="num" id="LN4211">4211</td><td class="line"><span class='keyword'>static</span> GObject*</td></tr>
+<tr class="codeline" data-linenumber="4212"><td class="num" id="LN4212">4212</td><td class="line">panel_toplevel_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="4213"><td class="num" id="LN4213">4213</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4214"><td class="num" id="LN4214">4214</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="4215"><td class="num" id="LN4215">4215</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4216"><td class="num" id="LN4216">4216</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="4217"><td class="num" id="LN4217">4217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4218"><td class="num" id="LN4218">4218</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="4219"><td class="num" id="LN4219">4219</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4220"><td class="num" id="LN4220">4220</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="4221"><td class="num" id="LN4221">4221</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL(object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4222"><td class="num" id="LN4222">4222</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4223"><td class="num" id="LN4223">4223</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="4224"><td class="num" id="LN4224">4224</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="4225"><td class="num" id="LN4225">4225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4226"><td class="num" id="LN4226">4226</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="4227"><td class="num" id="LN4227">4227</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4228"><td class="num" id="LN4228">4228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4229"><td class="num" id="LN4229">4229</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4230"><td class="num" id="LN4230">4230</td><td class="line">panel_toplevel_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="4231"><td class="num" id="LN4231">4231</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4232"><td class="num" id="LN4232">4232</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) object;</td></tr>
+<tr class="codeline" data-linenumber="4233"><td class="num" id="LN4233">4233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4234"><td class="num" id="LN4234">4234</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4235"><td class="num" id="LN4235">4235</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4236"><td class="num" id="LN4236">4236</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4237"><td class="num" id="LN4237">4237</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="4238"><td class="num" id="LN4238">4238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4239"><td class="num" id="LN4239">4239</td><td class="line"> toplevel_list = g_slist_remove (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4240"><td class="num" id="LN4240">4240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4241"><td class="num" id="LN4241">4241</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="4242"><td class="num" id="LN4242">4242</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4243"><td class="num" id="LN4243">4243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4244"><td class="num" id="LN4244">4244</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4245"><td class="num" id="LN4245">4245</td><td class="line">panel_toplevel_class_init (PanelToplevelClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="4246"><td class="num" id="LN4246">4246</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4247"><td class="num" id="LN4247">4247</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4248"><td class="num" id="LN4248">4248</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4249"><td class="num" id="LN4249">4249</td><td class="line"> GtkContainerClass *container_class = (GtkContainerClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4250"><td class="num" id="LN4250">4250</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="4251"><td class="num" id="LN4251">4251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4252"><td class="num" id="LN4252">4252</td><td class="line"> binding_set = gtk_binding_set_by_class (klass);</td></tr>
+<tr class="codeline" data-linenumber="4253"><td class="num" id="LN4253">4253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4254"><td class="num" id="LN4254">4254</td><td class="line"> gobject_class-&gt;constructor = panel_toplevel_constructor;</td></tr>
+<tr class="codeline" data-linenumber="4255"><td class="num" id="LN4255">4255</td><td class="line"> gobject_class-&gt;set_property = panel_toplevel_set_property;</td></tr>
+<tr class="codeline" data-linenumber="4256"><td class="num" id="LN4256">4256</td><td class="line"> gobject_class-&gt;get_property = panel_toplevel_get_property;</td></tr>
+<tr class="codeline" data-linenumber="4257"><td class="num" id="LN4257">4257</td><td class="line"> gobject_class-&gt;finalize = panel_toplevel_finalize;</td></tr>
+<tr class="codeline" data-linenumber="4258"><td class="num" id="LN4258">4258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4259"><td class="num" id="LN4259">4259</td><td class="line"> gobject_class-&gt;dispose = panel_toplevel_dispose;</td></tr>
+<tr class="codeline" data-linenumber="4260"><td class="num" id="LN4260">4260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4261"><td class="num" id="LN4261">4261</td><td class="line"> widget_class-&gt;realize = panel_toplevel_realize;</td></tr>
+<tr class="codeline" data-linenumber="4262"><td class="num" id="LN4262">4262</td><td class="line"> widget_class-&gt;unrealize = panel_toplevel_unrealize;</td></tr>
+<tr class="codeline" data-linenumber="4263"><td class="num" id="LN4263">4263</td><td class="line"> widget_class-&gt;state_flags_changed = panel_toplevel_state_flags_changed;</td></tr>
+<tr class="codeline" data-linenumber="4264"><td class="num" id="LN4264">4264</td><td class="line"> widget_class-&gt;draw = panel_toplevel_draw;</td></tr>
+<tr class="codeline" data-linenumber="4265"><td class="num" id="LN4265">4265</td><td class="line"> widget_class-&gt;get_preferred_width = panel_toplevel_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="4266"><td class="num" id="LN4266">4266</td><td class="line"> widget_class-&gt;get_preferred_height = panel_toplevel_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="4267"><td class="num" id="LN4267">4267</td><td class="line"> widget_class-&gt;style_updated = panel_toplevel_style_updated;</td></tr>
+<tr class="codeline" data-linenumber="4268"><td class="num" id="LN4268">4268</td><td class="line"> widget_class-&gt;size_allocate = panel_toplevel_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="4269"><td class="num" id="LN4269">4269</td><td class="line"> widget_class-&gt;button_press_event = panel_toplevel_button_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4270"><td class="num" id="LN4270">4270</td><td class="line"> widget_class-&gt;button_release_event = panel_toplevel_button_release_event;</td></tr>
+<tr class="codeline" data-linenumber="4271"><td class="num" id="LN4271">4271</td><td class="line"> widget_class-&gt;configure_event = panel_toplevel_configure_event;</td></tr>
+<tr class="codeline" data-linenumber="4272"><td class="num" id="LN4272">4272</td><td class="line"> widget_class-&gt;key_press_event = panel_toplevel_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4273"><td class="num" id="LN4273">4273</td><td class="line"> widget_class-&gt;motion_notify_event = panel_toplevel_motion_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4274"><td class="num" id="LN4274">4274</td><td class="line"> widget_class-&gt;enter_notify_event = panel_toplevel_enter_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4275"><td class="num" id="LN4275">4275</td><td class="line"> widget_class-&gt;leave_notify_event = panel_toplevel_leave_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4276"><td class="num" id="LN4276">4276</td><td class="line"> widget_class-&gt;screen_changed = panel_toplevel_screen_changed;</td></tr>
+<tr class="codeline" data-linenumber="4277"><td class="num" id="LN4277">4277</td><td class="line"> widget_class-&gt;focus_in_event = panel_toplevel_focus_in_event;</td></tr>
+<tr class="codeline" data-linenumber="4278"><td class="num" id="LN4278">4278</td><td class="line"> widget_class-&gt;focus_out_event = panel_toplevel_focus_out_event;</td></tr>
+<tr class="codeline" data-linenumber="4279"><td class="num" id="LN4279">4279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4280"><td class="num" id="LN4280">4280</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelToplevel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4281"><td class="num" id="LN4281">4281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4282"><td class="num" id="LN4282">4282</td><td class="line"> container_class-&gt;check_resize = panel_toplevel_check_resize;</td></tr>
+<tr class="codeline" data-linenumber="4283"><td class="num" id="LN4283">4283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4284"><td class="num" id="LN4284">4284</td><td class="line"> klass-&gt;hiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4285"><td class="num" id="LN4285">4285</td><td class="line"> klass-&gt;unhiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4286"><td class="num" id="LN4286">4286</td><td class="line"> klass-&gt;popup_panel_menu = panel_toplevel_popup_panel_menu;</td></tr>
+<tr class="codeline" data-linenumber="4287"><td class="num" id="LN4287">4287</td><td class="line"> klass-&gt;toggle_expand = panel_toplevel_toggle_expand;</td></tr>
+<tr class="codeline" data-linenumber="4288"><td class="num" id="LN4288">4288</td><td class="line"> klass-&gt;expand = panel_toplevel_expand;</td></tr>
+<tr class="codeline" data-linenumber="4289"><td class="num" id="LN4289">4289</td><td class="line"> klass-&gt;unexpand = panel_toplevel_unexpand;</td></tr>
+<tr class="codeline" data-linenumber="4290"><td class="num" id="LN4290">4290</td><td class="line"> klass-&gt;toggle_hidden = panel_toplevel_toggle_hidden;</td></tr>
+<tr class="codeline" data-linenumber="4291"><td class="num" id="LN4291">4291</td><td class="line"> klass-&gt;begin_move = panel_toplevel_begin_move;</td></tr>
+<tr class="codeline" data-linenumber="4292"><td class="num" id="LN4292">4292</td><td class="line"> klass-&gt;begin_resize = panel_toplevel_begin_resize;</td></tr>
+<tr class="codeline" data-linenumber="4293"><td class="num" id="LN4293">4293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4294"><td class="num" id="LN4294">4294</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4295"><td class="num" id="LN4295">4295</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4296"><td class="num" id="LN4296">4296</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="4297"><td class="num" id="LN4297">4297</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4298"><td class="num" id="LN4298">4298</td><td class="line"> <span class='string_literal'>"name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4299"><td class="num" id="LN4299">4299</td><td class="line"> <span class='string_literal'>"Name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4300"><td class="num" id="LN4300">4300</td><td class="line"> <span class='string_literal'>"The name of this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4301"><td class="num" id="LN4301">4301</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4302"><td class="num" id="LN4302">4302</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4303"><td class="num" id="LN4303">4303</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4304"><td class="num" id="LN4304">4304</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4305"><td class="num" id="LN4305">4305</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4306"><td class="num" id="LN4306">4306</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="4307"><td class="num" id="LN4307">4307</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4308"><td class="num" id="LN4308">4308</td><td class="line"> <span class='string_literal'>"settings-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4309"><td class="num" id="LN4309">4309</td><td class="line"> <span class='string_literal'>"GSettings path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4310"><td class="num" id="LN4310">4310</td><td class="line"> <span class='string_literal'>"The GSettings path used for this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4311"><td class="num" id="LN4311">4311</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4312"><td class="num" id="LN4312">4312</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4313"><td class="num" id="LN4313">4313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4314"><td class="num" id="LN4314">4314</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4315"><td class="num" id="LN4315">4315</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4316"><td class="num" id="LN4316">4316</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="4317"><td class="num" id="LN4317">4317</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4318"><td class="num" id="LN4318">4318</td><td class="line"> <span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4319"><td class="num" id="LN4319">4319</td><td class="line"> <span class='string_literal'>"Expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4320"><td class="num" id="LN4320">4320</td><td class="line"> <span class='string_literal'>"Expand to take up the full monitor width/height"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4321"><td class="num" id="LN4321">4321</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4322"><td class="num" id="LN4322">4322</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4323"><td class="num" id="LN4323">4323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4324"><td class="num" id="LN4324">4324</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4325"><td class="num" id="LN4325">4325</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4326"><td class="num" id="LN4326">4326</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="4327"><td class="num" id="LN4327">4327</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4328"><td class="num" id="LN4328">4328</td><td class="line"> <span class='string_literal'>"orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4329"><td class="num" id="LN4329">4329</td><td class="line"> <span class='string_literal'>"Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4330"><td class="num" id="LN4330">4330</td><td class="line"> <span class='string_literal'>"The orientation of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4331"><td class="num" id="LN4331">4331</td><td class="line"> <span class='macro'>PANEL_TYPE_ORIENTATION<span class='macro_popup'>panel_orientation_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4332"><td class="num" id="LN4332">4332</td><td class="line"> PANEL_ORIENTATION_TOP,</td></tr>
+<tr class="codeline" data-linenumber="4333"><td class="num" id="LN4333">4333</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4334"><td class="num" id="LN4334">4334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4335"><td class="num" id="LN4335">4335</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4336"><td class="num" id="LN4336">4336</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4337"><td class="num" id="LN4337">4337</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4338"><td class="num" id="LN4338">4338</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4339"><td class="num" id="LN4339">4339</td><td class="line"> <span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4340"><td class="num" id="LN4340">4340</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4341"><td class="num" id="LN4341">4341</td><td class="line"> <span class='string_literal'>"The height (or width when vertical) of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4342"><td class="num" id="LN4342">4342</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4343"><td class="num" id="LN4343">4343</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4344"><td class="num" id="LN4344">4344</td><td class="line"> <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4345"><td class="num" id="LN4345">4345</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4346"><td class="num" id="LN4346">4346</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4347"><td class="num" id="LN4347">4347</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4348"><td class="num" id="LN4348">4348</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4349"><td class="num" id="LN4349">4349</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="4350"><td class="num" id="LN4350">4350</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4351"><td class="num" id="LN4351">4351</td><td class="line"> <span class='string_literal'>"x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4352"><td class="num" id="LN4352">4352</td><td class="line"> <span class='string_literal'>"X position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4353"><td class="num" id="LN4353">4353</td><td class="line"> <span class='string_literal'>"The X position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4354"><td class="num" id="LN4354">4354</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4355"><td class="num" id="LN4355">4355</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4356"><td class="num" id="LN4356">4356</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4357"><td class="num" id="LN4357">4357</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4358"><td class="num" id="LN4358">4358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4359"><td class="num" id="LN4359">4359</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4360"><td class="num" id="LN4360">4360</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4361"><td class="num" id="LN4361">4361</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="4362"><td class="num" id="LN4362">4362</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4363"><td class="num" id="LN4363">4363</td><td class="line"> <span class='string_literal'>"x-right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4364"><td class="num" id="LN4364">4364</td><td class="line"> <span class='string_literal'>"X position, from the right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4365"><td class="num" id="LN4365">4365</td><td class="line"> <span class='string_literal'>"The X position of the panel, starting from the right of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4366"><td class="num" id="LN4366">4366</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4367"><td class="num" id="LN4367">4367</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4368"><td class="num" id="LN4368">4368</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4369"><td class="num" id="LN4369">4369</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4370"><td class="num" id="LN4370">4370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4371"><td class="num" id="LN4371">4371</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4372"><td class="num" id="LN4372">4372</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4373"><td class="num" id="LN4373">4373</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4374"><td class="num" id="LN4374">4374</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4375"><td class="num" id="LN4375">4375</td><td class="line"> <span class='string_literal'>"x-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4376"><td class="num" id="LN4376">4376</td><td class="line"> <span class='string_literal'>"X centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4377"><td class="num" id="LN4377">4377</td><td class="line"> <span class='string_literal'>"The x co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4378"><td class="num" id="LN4378">4378</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4379"><td class="num" id="LN4379">4379</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4380"><td class="num" id="LN4380">4380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4381"><td class="num" id="LN4381">4381</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4382"><td class="num" id="LN4382">4382</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4383"><td class="num" id="LN4383">4383</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="4384"><td class="num" id="LN4384">4384</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4385"><td class="num" id="LN4385">4385</td><td class="line"> <span class='string_literal'>"y"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4386"><td class="num" id="LN4386">4386</td><td class="line"> <span class='string_literal'>"Y position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4387"><td class="num" id="LN4387">4387</td><td class="line"> <span class='string_literal'>"The Y position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4388"><td class="num" id="LN4388">4388</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4389"><td class="num" id="LN4389">4389</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4390"><td class="num" id="LN4390">4390</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4391"><td class="num" id="LN4391">4391</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4392"><td class="num" id="LN4392">4392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4393"><td class="num" id="LN4393">4393</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4394"><td class="num" id="LN4394">4394</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4395"><td class="num" id="LN4395">4395</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="4396"><td class="num" id="LN4396">4396</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4397"><td class="num" id="LN4397">4397</td><td class="line"> <span class='string_literal'>"y_bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4398"><td class="num" id="LN4398">4398</td><td class="line"> <span class='string_literal'>"Y position, from the bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4399"><td class="num" id="LN4399">4399</td><td class="line"> <span class='string_literal'>"The Y position of the panel, starting from the bottom of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4400"><td class="num" id="LN4400">4400</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4401"><td class="num" id="LN4401">4401</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4402"><td class="num" id="LN4402">4402</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4403"><td class="num" id="LN4403">4403</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4404"><td class="num" id="LN4404">4404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4405"><td class="num" id="LN4405">4405</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4406"><td class="num" id="LN4406">4406</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4407"><td class="num" id="LN4407">4407</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4408"><td class="num" id="LN4408">4408</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4409"><td class="num" id="LN4409">4409</td><td class="line"> <span class='string_literal'>"y-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4410"><td class="num" id="LN4410">4410</td><td class="line"> <span class='string_literal'>"Y centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4411"><td class="num" id="LN4411">4411</td><td class="line"> <span class='string_literal'>"The y co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4412"><td class="num" id="LN4412">4412</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4413"><td class="num" id="LN4413">4413</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4414"><td class="num" id="LN4414">4414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4415"><td class="num" id="LN4415">4415</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4416"><td class="num" id="LN4416">4416</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4417"><td class="num" id="LN4417">4417</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="4418"><td class="num" id="LN4418">4418</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4419"><td class="num" id="LN4419">4419</td><td class="line"> <span class='string_literal'>"monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4420"><td class="num" id="LN4420">4420</td><td class="line"> <span class='string_literal'>"Xinerama monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4421"><td class="num" id="LN4421">4421</td><td class="line"> <span class='string_literal'>"The monitor (in terms of Xinerama) which the panel is on"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4422"><td class="num" id="LN4422">4422</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4423"><td class="num" id="LN4423">4423</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4424"><td class="num" id="LN4424">4424</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4425"><td class="num" id="LN4425">4425</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4426"><td class="num" id="LN4426">4426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4427"><td class="num" id="LN4427">4427</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4428"><td class="num" id="LN4428">4428</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4429"><td class="num" id="LN4429">4429</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="4430"><td class="num" id="LN4430">4430</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4431"><td class="num" id="LN4431">4431</td><td class="line"> <span class='string_literal'>"auto-hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4432"><td class="num" id="LN4432">4432</td><td class="line"> <span class='string_literal'>"Auto hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4433"><td class="num" id="LN4433">4433</td><td class="line"> <span class='string_literal'>"Automatically hide the panel when the mouse leaves the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4434"><td class="num" id="LN4434">4434</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4435"><td class="num" id="LN4435">4435</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4436"><td class="num" id="LN4436">4436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4437"><td class="num" id="LN4437">4437</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4438"><td class="num" id="LN4438">4438</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4439"><td class="num" id="LN4439">4439</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4440"><td class="num" id="LN4440">4440</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4441"><td class="num" id="LN4441">4441</td><td class="line"> <span class='string_literal'>"hide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4442"><td class="num" id="LN4442">4442</td><td class="line"> <span class='string_literal'>"Hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4443"><td class="num" id="LN4443">4443</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4444"><td class="num" id="LN4444">4444</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4445"><td class="num" id="LN4445">4445</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4446"><td class="num" id="LN4446">4446</td><td class="line"> <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4447"><td class="num" id="LN4447">4447</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4448"><td class="num" id="LN4448">4448</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4449"><td class="num" id="LN4449">4449</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4450"><td class="num" id="LN4450">4450</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4451"><td class="num" id="LN4451">4451</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4452"><td class="num" id="LN4452">4452</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4453"><td class="num" id="LN4453">4453</td><td class="line"> <span class='string_literal'>"unhide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4454"><td class="num" id="LN4454">4454</td><td class="line"> <span class='string_literal'>"Un-hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4455"><td class="num" id="LN4455">4455</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically un-hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4456"><td class="num" id="LN4456">4456</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4457"><td class="num" id="LN4457">4457</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4458"><td class="num" id="LN4458">4458</td><td class="line"> <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4459"><td class="num" id="LN4459">4459</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4460"><td class="num" id="LN4460">4460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4461"><td class="num" id="LN4461">4461</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4462"><td class="num" id="LN4462">4462</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4463"><td class="num" id="LN4463">4463</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4464"><td class="num" id="LN4464">4464</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4465"><td class="num" id="LN4465">4465</td><td class="line"> <span class='string_literal'>"auto-hide-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4466"><td class="num" id="LN4466">4466</td><td class="line"> <span class='string_literal'>"Auto-hide size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4467"><td class="num" id="LN4467">4467</td><td class="line"> <span class='string_literal'>"The number of pixels visible when the panel has been automatically hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4468"><td class="num" id="LN4468">4468</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="4469"><td class="num" id="LN4469">4469</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4470"><td class="num" id="LN4470">4470</td><td class="line"> <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4471"><td class="num" id="LN4471">4471</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4472"><td class="num" id="LN4472">4472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4473"><td class="num" id="LN4473">4473</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4474"><td class="num" id="LN4474">4474</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4475"><td class="num" id="LN4475">4475</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="4476"><td class="num" id="LN4476">4476</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4477"><td class="num" id="LN4477">4477</td><td class="line"> <span class='string_literal'>"animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4478"><td class="num" id="LN4478">4478</td><td class="line"> <span class='string_literal'>"Animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4479"><td class="num" id="LN4479">4479</td><td class="line"> <span class='string_literal'>"Enable hiding/showing animations"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4480"><td class="num" id="LN4480">4480</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4481"><td class="num" id="LN4481">4481</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4482"><td class="num" id="LN4482">4482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4483"><td class="num" id="LN4483">4483</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4484"><td class="num" id="LN4484">4484</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4485"><td class="num" id="LN4485">4485</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="4486"><td class="num" id="LN4486">4486</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4487"><td class="num" id="LN4487">4487</td><td class="line"> <span class='string_literal'>"animation-speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4488"><td class="num" id="LN4488">4488</td><td class="line"> <span class='string_literal'>"Animation Speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4489"><td class="num" id="LN4489">4489</td><td class="line"> <span class='string_literal'>"The speed at which to animate panel hiding/showing"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4490"><td class="num" id="LN4490">4490</td><td class="line"> <span class='macro'>PANEL_TYPE_ANIMATION_SPEED<span class='macro_popup'>panel_animation_speed_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4491"><td class="num" id="LN4491">4491</td><td class="line"> PANEL_ANIMATION_MEDIUM,</td></tr>
+<tr class="codeline" data-linenumber="4492"><td class="num" id="LN4492">4492</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4493"><td class="num" id="LN4493">4493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4494"><td class="num" id="LN4494">4494</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4495"><td class="num" id="LN4495">4495</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4496"><td class="num" id="LN4496">4496</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4497"><td class="num" id="LN4497">4497</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4498"><td class="num" id="LN4498">4498</td><td class="line"> <span class='string_literal'>"buttons-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4499"><td class="num" id="LN4499">4499</td><td class="line"> <span class='string_literal'>"Buttons Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4500"><td class="num" id="LN4500">4500</td><td class="line"> <span class='string_literal'>"Enable hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4501"><td class="num" id="LN4501">4501</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4502"><td class="num" id="LN4502">4502</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4503"><td class="num" id="LN4503">4503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4504"><td class="num" id="LN4504">4504</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4505"><td class="num" id="LN4505">4505</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4506"><td class="num" id="LN4506">4506</td><td class="line"> PROP_ARROWS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4507"><td class="num" id="LN4507">4507</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4508"><td class="num" id="LN4508">4508</td><td class="line"> <span class='string_literal'>"arrows-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4509"><td class="num" id="LN4509">4509</td><td class="line"> <span class='string_literal'>"Arrows Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4510"><td class="num" id="LN4510">4510</td><td class="line"> <span class='string_literal'>"Enable arrows on hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4511"><td class="num" id="LN4511">4511</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4512"><td class="num" id="LN4512">4512</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4513"><td class="num" id="LN4513">4513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4514"><td class="num" id="LN4514">4514</td><td class="line"> gtk_widget_class_install_style_property (</td></tr>
+<tr class="codeline" data-linenumber="4515"><td class="num" id="LN4515">4515</td><td class="line"> widget_class,</td></tr>
+<tr class="codeline" data-linenumber="4516"><td class="num" id="LN4516">4516</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4517"><td class="num" id="LN4517">4517</td><td class="line"> <span class='string_literal'>"arrow-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4518"><td class="num" id="LN4518">4518</td><td class="line"> <span class='string_literal'>"Arrow Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4519"><td class="num" id="LN4519">4519</td><td class="line"> <span class='string_literal'>"The size of the arrows on the hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4520"><td class="num" id="LN4520">4520</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4521"><td class="num" id="LN4521">4521</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4522"><td class="num" id="LN4522">4522</td><td class="line"> <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4523"><td class="num" id="LN4523">4523</td><td class="line"> G_PARAM_READABLE));</td></tr>
+<tr class="codeline" data-linenumber="4524"><td class="num" id="LN4524">4524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4525"><td class="num" id="LN4525">4525</td><td class="line"> toplevel_signals [HIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4526"><td class="num" id="LN4526">4526</td><td class="line"> g_signal_new (<span class='string_literal'>"hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4527"><td class="num" id="LN4527">4527</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4528"><td class="num" id="LN4528">4528</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4529"><td class="num" id="LN4529">4529</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, hiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, hiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4530"><td class="num" id="LN4530">4530</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4531"><td class="num" id="LN4531">4531</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4532"><td class="num" id="LN4532">4532</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4533"><td class="num" id="LN4533">4533</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4534"><td class="num" id="LN4534">4534</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4535"><td class="num" id="LN4535">4535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4536"><td class="num" id="LN4536">4536</td><td class="line"> toplevel_signals [UNHIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4537"><td class="num" id="LN4537">4537</td><td class="line"> g_signal_new (<span class='string_literal'>"unhiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4538"><td class="num" id="LN4538">4538</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4539"><td class="num" id="LN4539">4539</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4540"><td class="num" id="LN4540">4540</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unhiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unhiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4541"><td class="num" id="LN4541">4541</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4542"><td class="num" id="LN4542">4542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4543"><td class="num" id="LN4543">4543</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4544"><td class="num" id="LN4544">4544</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4545"><td class="num" id="LN4545">4545</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4546"><td class="num" id="LN4546">4546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4547"><td class="num" id="LN4547">4547</td><td class="line"> toplevel_signals [POPUP_PANEL_MENU_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4548"><td class="num" id="LN4548">4548</td><td class="line"> g_signal_new (<span class='string_literal'>"popup-panel-menu"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4549"><td class="num" id="LN4549">4549</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4550"><td class="num" id="LN4550">4550</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4551"><td class="num" id="LN4551">4551</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, popup_panel_menu)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, popup_panel_menu<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4552"><td class="num" id="LN4552">4552</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4553"><td class="num" id="LN4553">4553</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4554"><td class="num" id="LN4554">4554</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4555"><td class="num" id="LN4555">4555</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4556"><td class="num" id="LN4556">4556</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4557"><td class="num" id="LN4557">4557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4558"><td class="num" id="LN4558">4558</td><td class="line"> toplevel_signals [TOGGLE_EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4559"><td class="num" id="LN4559">4559</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4560"><td class="num" id="LN4560">4560</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4561"><td class="num" id="LN4561">4561</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4562"><td class="num" id="LN4562">4562</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_expand<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4563"><td class="num" id="LN4563">4563</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4564"><td class="num" id="LN4564">4564</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4565"><td class="num" id="LN4565">4565</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4566"><td class="num" id="LN4566">4566</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4567"><td class="num" id="LN4567">4567</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4568"><td class="num" id="LN4568">4568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4569"><td class="num" id="LN4569">4569</td><td class="line"> toplevel_signals [EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4570"><td class="num" id="LN4570">4570</td><td class="line"> g_signal_new (<span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4571"><td class="num" id="LN4571">4571</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4572"><td class="num" id="LN4572">4572</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4573"><td class="num" id="LN4573">4573</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, expand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4574"><td class="num" id="LN4574">4574</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4575"><td class="num" id="LN4575">4575</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4576"><td class="num" id="LN4576">4576</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4577"><td class="num" id="LN4577">4577</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4578"><td class="num" id="LN4578">4578</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4579"><td class="num" id="LN4579">4579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4580"><td class="num" id="LN4580">4580</td><td class="line"> toplevel_signals [UNEXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4581"><td class="num" id="LN4581">4581</td><td class="line"> g_signal_new (<span class='string_literal'>"unexpand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4582"><td class="num" id="LN4582">4582</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4583"><td class="num" id="LN4583">4583</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4584"><td class="num" id="LN4584">4584</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unexpand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unexpand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4585"><td class="num" id="LN4585">4585</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4586"><td class="num" id="LN4586">4586</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4587"><td class="num" id="LN4587">4587</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4588"><td class="num" id="LN4588">4588</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4589"><td class="num" id="LN4589">4589</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4590"><td class="num" id="LN4590">4590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4591"><td class="num" id="LN4591">4591</td><td class="line"> toplevel_signals [TOGGLE_HIDDEN_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4592"><td class="num" id="LN4592">4592</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4593"><td class="num" id="LN4593">4593</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4594"><td class="num" id="LN4594">4594</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4595"><td class="num" id="LN4595">4595</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_hidden)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_hidden<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4596"><td class="num" id="LN4596">4596</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4597"><td class="num" id="LN4597">4597</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4598"><td class="num" id="LN4598">4598</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4599"><td class="num" id="LN4599">4599</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4600"><td class="num" id="LN4600">4600</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4601"><td class="num" id="LN4601">4601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4602"><td class="num" id="LN4602">4602</td><td class="line"> toplevel_signals [BEGIN_MOVE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4603"><td class="num" id="LN4603">4603</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4604"><td class="num" id="LN4604">4604</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4605"><td class="num" id="LN4605">4605</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4606"><td class="num" id="LN4606">4606</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_move)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_move))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4607"><td class="num" id="LN4607">4607</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4608"><td class="num" id="LN4608">4608</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4609"><td class="num" id="LN4609">4609</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4610"><td class="num" id="LN4610">4610</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4611"><td class="num" id="LN4611">4611</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4612"><td class="num" id="LN4612">4612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4613"><td class="num" id="LN4613">4613</td><td class="line"> toplevel_signals [BEGIN_RESIZE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4614"><td class="num" id="LN4614">4614</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-resize"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4615"><td class="num" id="LN4615">4615</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4616"><td class="num" id="LN4616">4616</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4617"><td class="num" id="LN4617">4617</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_resize)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_resize)<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4618"><td class="num" id="LN4618">4618</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4619"><td class="num" id="LN4619">4619</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4620"><td class="num" id="LN4620">4620</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4621"><td class="num" id="LN4621">4621</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4622"><td class="num" id="LN4622">4622</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4623"><td class="num" id="LN4623">4623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4624"><td class="num" id="LN4624">4624</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_F10<span class='macro_popup'>0xffc7</span></span>, GDK_CONTROL_MASK,</td></tr>
+<tr class="codeline" data-linenumber="4625"><td class="num" id="LN4625">4625</td><td class="line"> <span class='string_literal'>"popup_panel_menu"</span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="4626"><td class="num" id="LN4626">4626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4627"><td class="num" id="LN4627">4627</td><td class="line"> panel_bindings_set_entries (binding_set);</td></tr>
+<tr class="codeline" data-linenumber="4628"><td class="num" id="LN4628">4628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4629"><td class="num" id="LN4629">4629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4630"><td class="num" id="LN4630">4630</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4631"><td class="num" id="LN4631">4631</td><td class="line">panel_toplevel_setup_widgets (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4632"><td class="num" id="LN4632">4632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4633"><td class="num" id="LN4633">4633</td><td class="line"> GtkWidget* container;</td></tr>
+<tr class="codeline" data-linenumber="4634"><td class="num" id="LN4634">4634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4635"><td class="num" id="LN4635">4635</td><td class="line"> toplevel-&gt;priv-&gt;grid = gtk_grid_new ();</td></tr>
+<tr class="codeline" data-linenumber="4636"><td class="num" id="LN4636">4636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4637"><td class="num" id="LN4637">4637</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_UP, 1, 0);</td></tr>
+<tr class="codeline" data-linenumber="4638"><td class="num" id="LN4638">4638</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_DOWN, 1, 2);</td></tr>
+<tr class="codeline" data-linenumber="4639"><td class="num" id="LN4639">4639</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_LEFT, 0, 1);</td></tr>
+<tr class="codeline" data-linenumber="4640"><td class="num" id="LN4640">4640</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_RIGHT, 2, 1);</td></tr>
+<tr class="codeline" data-linenumber="4641"><td class="num" id="LN4641">4641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4642"><td class="num" id="LN4642">4642</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4643"><td class="num" id="LN4643">4643</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4644"><td class="num" id="LN4644">4644</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="4645"><td class="num" id="LN4645">4645</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="4646"><td class="num" id="LN4646">4646</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4647"><td class="num" id="LN4647">4647</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4648"><td class="num" id="LN4648">4648</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4649"><td class="num" id="LN4649">4649</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="4650"><td class="num" id="LN4650">4650</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4651"><td class="num" id="LN4651">4651</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4652"><td class="num" id="LN4652">4652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4653"><td class="num" id="LN4653">4653</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = g_object_new(<span class='macro'>PANEL_TYPE_FRAME<span class='macro_popup'>(panel_frame_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4654"><td class="num" id="LN4654">4654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4655"><td class="num" id="LN4655">4655</td><td class="line"> gtk_widget_set_hexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4656"><td class="num" id="LN4656">4656</td><td class="line"> gtk_widget_set_vexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4657"><td class="num" id="LN4657">4657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4658"><td class="num" id="LN4658">4658</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, <span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, 1, 1, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="4659"><td class="num" id="LN4659">4659</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4660"><td class="num" id="LN4660">4660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4661"><td class="num" id="LN4661">4661</td><td class="line"> container = panel_widget_new (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4662"><td class="num" id="LN4662">4662</td><td class="line"> !toplevel-&gt;priv-&gt;expand,</td></tr>
+<tr class="codeline" data-linenumber="4663"><td class="num" id="LN4663">4663</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="4664"><td class="num" id="LN4664">4664</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="4665"><td class="num" id="LN4665">4665</td><td class="line"> GTK_ORIENTATION_VERTICAL,</td></tr>
+<tr class="codeline" data-linenumber="4666"><td class="num" id="LN4666">4666</td><td class="line"> toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4667"><td class="num" id="LN4667">4667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4668"><td class="num" id="LN4668">4668</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>PANEL_WIDGET(container)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((panel_widget_get_type()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4669"><td class="num" id="LN4669">4669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4670"><td class="num" id="LN4670">4670</td><td class="line"> gtk_container_add(<span class='macro'>GTK_CONTAINER(toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_container_get_type<br> ()))))))</span></span>, container);</td></tr>
+<tr class="codeline" data-linenumber="4671"><td class="num" id="LN4671">4671</td><td class="line"> gtk_widget_show(container);</td></tr>
+<tr class="codeline" data-linenumber="4672"><td class="num" id="LN4672">4672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4673"><td class="num" id="LN4673">4673</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (toplevel)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_container_get_type ()))))))</span></span>, toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4674"><td class="num" id="LN4674">4674</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4675"><td class="num" id="LN4675">4675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4676"><td class="num" id="LN4676">4676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4677"><td class="num" id="LN4677">4677</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4678"><td class="num" id="LN4678">4678</td><td class="line">background_changed (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="4679"><td class="num" id="LN4679">4679</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4680"><td class="num" id="LN4680">4680</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4681"><td class="num" id="LN4681">4681</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4682"><td class="num" id="LN4682">4682</td><td class="line"> panel_widget_emit_background_changed (toplevel-&gt;priv-&gt;panel_widget);</td></tr>
+<tr class="codeline" data-linenumber="4683"><td class="num" id="LN4683">4683</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4684"><td class="num" id="LN4684">4684</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4685"><td class="num" id="LN4685">4685</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4686"><td class="num" id="LN4686">4686</td><td class="line">panel_toplevel_init (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4687"><td class="num" id="LN4687">4687</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4688"><td class="num" id="LN4688">4688</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="4689"><td class="num" id="LN4689">4689</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="4690"><td class="num" id="LN4690">4690</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4691"><td class="num" id="LN4691">4691</td><td class="line"> toplevel-&gt;priv = panel_toplevel_get_instance_private (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4692"><td class="num" id="LN4692">4692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4693"><td class="num" id="LN4693">4693</td><td class="line"> toplevel-&gt;priv-&gt;expand = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4694"><td class="num" id="LN4694">4694</td><td class="line"> toplevel-&gt;priv-&gt;orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="4695"><td class="num" id="LN4695">4695</td><td class="line"> toplevel-&gt;priv-&gt;size = <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4696"><td class="num" id="LN4696">4696</td><td class="line"> toplevel-&gt;priv-&gt;scale = gtk_widget_get_scale_factor (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4697"><td class="num" id="LN4697">4697</td><td class="line"> toplevel-&gt;priv-&gt;x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4698"><td class="num" id="LN4698">4698</td><td class="line"> toplevel-&gt;priv-&gt;y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4699"><td class="num" id="LN4699">4699</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4700"><td class="num" id="LN4700">4700</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4701"><td class="num" id="LN4701">4701</td><td class="line"> toplevel-&gt;priv-&gt;monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="4702"><td class="num" id="LN4702">4702</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = -1;</td></tr>
+<tr class="codeline" data-linenumber="4703"><td class="num" id="LN4703">4703</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4704"><td class="num" id="LN4704">4704</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4705"><td class="num" id="LN4705">4705</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4706"><td class="num" id="LN4706">4706</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = PANEL_ANIMATION_FAST;</td></tr>
+<tr class="codeline" data-linenumber="4707"><td class="num" id="LN4707">4707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4708"><td class="num" id="LN4708">4708</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4709"><td class="num" id="LN4709">4709</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4710"><td class="num" id="LN4710">4710</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4711"><td class="num" id="LN4711">4711</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="4712"><td class="num" id="LN4712">4712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4713"><td class="num" id="LN4713">4713</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4714"><td class="num" id="LN4714">4714</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4715"><td class="num" id="LN4715">4715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4716"><td class="num" id="LN4716">4716</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4717"><td class="num" id="LN4717">4717</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4718"><td class="num" id="LN4718">4718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4719"><td class="num" id="LN4719">4719</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = -1;</td></tr>
+<tr class="codeline" data-linenumber="4720"><td class="num" id="LN4720">4720</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = -1;</td></tr>
+<tr class="codeline" data-linenumber="4721"><td class="num" id="LN4721">4721</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4722"><td class="num" id="LN4722">4722</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4723"><td class="num" id="LN4723">4723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4724"><td class="num" id="LN4724">4724</td><td class="line"> toplevel-&gt;priv-&gt;original_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4725"><td class="num" id="LN4725">4725</td><td class="line"> toplevel-&gt;priv-&gt;original_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4726"><td class="num" id="LN4726">4726</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4727"><td class="num" id="LN4727">4727</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="4728"><td class="num" id="LN4728">4728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4729"><td class="num" id="LN4729">4729</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4730"><td class="num" id="LN4730">4730</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4731"><td class="num" id="LN4731">4731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4732"><td class="num" id="LN4732">4732</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4733"><td class="num" id="LN4733">4733</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4734"><td class="num" id="LN4734">4734</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0;</td></tr>
+<tr class="codeline" data-linenumber="4735"><td class="num" id="LN4735">4735</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0;</td></tr>
+<tr class="codeline" data-linenumber="4736"><td class="num" id="LN4736">4736</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4737"><td class="num" id="LN4737">4737</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4738"><td class="num" id="LN4738">4738</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4739"><td class="num" id="LN4739">4739</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4740"><td class="num" id="LN4740">4740</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4741"><td class="num" id="LN4741">4741</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4742"><td class="num" id="LN4742">4742</td><td class="line"> toplevel-&gt;priv-&gt;grid = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4743"><td class="num" id="LN4743">4743</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4744"><td class="num" id="LN4744">4744</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4745"><td class="num" id="LN4745">4745</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4746"><td class="num" id="LN4746">4746</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4747"><td class="num" id="LN4747">4747</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4748"><td class="num" id="LN4748">4748</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4749"><td class="num" id="LN4749">4749</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4750"><td class="num" id="LN4750">4750</td><td class="line"> toplevel-&gt;priv-&gt;n_autohide_disablers = 0;</td></tr>
+<tr class="codeline" data-linenumber="4751"><td class="num" id="LN4751">4751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4752"><td class="num" id="LN4752">4752</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4753"><td class="num" id="LN4753">4753</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4754"><td class="num" id="LN4754">4754</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4755"><td class="num" id="LN4755">4755</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4756"><td class="num" id="LN4756">4756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4757"><td class="num" id="LN4757">4757</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4758"><td class="num" id="LN4758">4758</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4759"><td class="num" id="LN4759">4759</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4760"><td class="num" id="LN4760">4760</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4761"><td class="num" id="LN4761">4761</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4762"><td class="num" id="LN4762">4762</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4763"><td class="num" id="LN4763">4763</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4764"><td class="num" id="LN4764">4764</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4765"><td class="num" id="LN4765">4765</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4766"><td class="num" id="LN4766">4766</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4767"><td class="num" id="LN4767">4767</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4768"><td class="num" id="LN4768">4768</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4769"><td class="num" id="LN4769">4769</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4770"><td class="num" id="LN4770">4770</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4771"><td class="num" id="LN4771">4771</td><td class="line"> gtk_widget_add_events (widget,</td></tr>
+<tr class="codeline" data-linenumber="4772"><td class="num" id="LN4772">4772</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4773"><td class="num" id="LN4773">4773</td><td class="line"> GDK_BUTTON_RELEASE_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4774"><td class="num" id="LN4774">4774</td><td class="line"> GDK_POINTER_MOTION_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4775"><td class="num" id="LN4775">4775</td><td class="line"> GDK_ENTER_NOTIFY_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4776"><td class="num" id="LN4776">4776</td><td class="line"> GDK_LEAVE_NOTIFY_MASK);</td></tr>
+<tr class="codeline" data-linenumber="4777"><td class="num" id="LN4777">4777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4778"><td class="num" id="LN4778">4778</td><td class="line"> gtk_widget_set_app_paintable (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4779"><td class="num" id="LN4779">4779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4780"><td class="num" id="LN4780">4780</td><td class="line"> panel_toplevel_setup_widgets (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4781"><td class="num" id="LN4781">4781</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4782"><td class="num" id="LN4782">4782</td><td class="line"> panel_toplevel_update_gtk_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4783"><td class="num" id="LN4783">4783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4784"><td class="num" id="LN4784">4784</td><td class="line"> toplevel_list = g_slist_prepend (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4785"><td class="num" id="LN4785">4785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4786"><td class="num" id="LN4786">4786</td><td class="line"> <span class='comment'>/* Prevent the window from being deleted via Alt+F4 by accident. This</span></td></tr>
+<tr class="codeline" data-linenumber="4787"><td class="num" id="LN4787">4787</td><td class="line"> <span class='comment'>* happens with "alternative" window managers such as Sawfish or XFWM4.</span></td></tr>
+<tr class="codeline" data-linenumber="4788"><td class="num" id="LN4788">4788</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="4789"><td class="num" id="LN4789">4789</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"delete-event"</span>, G_CALLBACK(gtk_true), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("delete-event"), (((GCallback<br>) (gtk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4790"><td class="num" id="LN4790">4790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4791"><td class="num" id="LN4791">4791</td><td class="line"> panel_background_init (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="4792"><td class="num" id="LN4792">4792</td><td class="line"> (PanelBackgroundChangedNotify) background_changed,</td></tr>
+<tr class="codeline" data-linenumber="4793"><td class="num" id="LN4793">4793</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4794"><td class="num" id="LN4794">4794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4795"><td class="num" id="LN4795">4795</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4796"><td class="num" id="LN4796">4796</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4797"><td class="num" id="LN4797">4797</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4798"><td class="num" id="LN4798">4798</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="4799"><td class="num" id="LN4799">4799</td><td class="line"> wayland_panel_toplevel_init (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4800"><td class="num" id="LN4800">4800</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4801"><td class="num" id="LN4801">4801</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="4802"><td class="num" id="LN4802">4802</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4803"><td class="num" id="LN4803">4803</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4804"><td class="num" id="LN4804">4804</td><td class="line">PanelWidget *</td></tr>
+<tr class="codeline" data-linenumber="4805"><td class="num" id="LN4805">4805</td><td class="line">panel_toplevel_get_panel_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4806"><td class="num" id="LN4806">4806</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4807"><td class="num" id="LN4807">4807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4808"><td class="num" id="LN4808">4808</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4809"><td class="num" id="LN4809">4809</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4810"><td class="num" id="LN4810">4810</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="4811"><td class="num" id="LN4811">4811</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4812"><td class="num" id="LN4812">4812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4813"><td class="num" id="LN4813">4813</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4814"><td class="num" id="LN4814">4814</td><td class="line">panel_toplevel_update_name (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4815"><td class="num" id="LN4815">4815</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4816"><td class="num" id="LN4816">4816</td><td class="line"> <span class='keyword'>char</span> *title;</td></tr>
+<tr class="codeline" data-linenumber="4817"><td class="num" id="LN4817">4817</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4818"><td class="num" id="LN4818">4818</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;description != NULL)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;description != ((void*)0)) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 4818<br>, ((const char*) (__func__)), "toplevel-&gt;priv-&gt;description != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4819"><td class="num" id="LN4819">4819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4820"><td class="num" id="LN4820">4820</td><td class="line"> title = toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name : toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4821"><td class="num" id="LN4821">4821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4822"><td class="num" id="LN4822">4822</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>, title);</td></tr>
+<tr class="codeline" data-linenumber="4823"><td class="num" id="LN4823">4823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4824"><td class="num" id="LN4824">4824</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="4825"><td class="num" id="LN4825">4825</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4826"><td class="num" id="LN4826">4826</td><td class="line"> title, toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="4827"><td class="num" id="LN4827">4827</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4828"><td class="num" id="LN4828">4828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4829"><td class="num" id="LN4829">4829</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4830"><td class="num" id="LN4830">4830</td><td class="line">panel_toplevel_set_name (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4831"><td class="num" id="LN4831">4831</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name)</td></tr>
+<tr class="codeline" data-linenumber="4832"><td class="num" id="LN4832">4832</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4833"><td class="num" id="LN4833">4833</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4834"><td class="num" id="LN4834">4834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4835"><td class="num" id="LN4835">4835</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name &amp;&amp; (!name || !name [0]))</td></tr>
+<tr class="codeline" data-linenumber="4836"><td class="num" id="LN4836">4836</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4837"><td class="num" id="LN4837">4837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4838"><td class="num" id="LN4838">4838</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;name &amp;&amp; name &amp;&amp; name [0] &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4839"><td class="num" id="LN4839">4839</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;name, name))</td></tr>
+<tr class="codeline" data-linenumber="4840"><td class="num" id="LN4840">4840</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4841"><td class="num" id="LN4841">4841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4842"><td class="num" id="LN4842">4842</td><td class="line"> g_free (toplevel-&gt;priv-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="4843"><td class="num" id="LN4843">4843</td><td class="line"> <span class='keyword'>if</span> (name &amp;&amp; name [0])</td></tr>
+<tr class="codeline" data-linenumber="4844"><td class="num" id="LN4844">4844</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>g_strdup (name)<span class='macro_popup'>g_strdup_inline (name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4845"><td class="num" id="LN4845">4845</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4846"><td class="num" id="LN4846">4846</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4847"><td class="num" id="LN4847">4847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4848"><td class="num" id="LN4848">4848</td><td class="line"> panel_toplevel_update_name (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4849"><td class="num" id="LN4849">4849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4850"><td class="num" id="LN4850">4850</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4851"><td class="num" id="LN4851">4851</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4852"><td class="num" id="LN4852">4852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4853"><td class="num" id="LN4853">4853</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4854"><td class="num" id="LN4854">4854</td><td class="line">panel_toplevel_set_settings_path (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4855"><td class="num" id="LN4855">4855</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *settings_path)</td></tr>
+<tr class="codeline" data-linenumber="4856"><td class="num" id="LN4856">4856</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4857"><td class="num" id="LN4857">4857</td><td class="line"> toplevel-&gt;priv-&gt;settings_path = <span class='macro'>g_strdup (settings_path)<span class='macro_popup'>g_strdup_inline (settings_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4858"><td class="num" id="LN4858">4858</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4859"><td class="num" id="LN4859">4859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4860"><td class="num" id="LN4860">4860</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_name(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4861"><td class="num" id="LN4861">4861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4862"><td class="num" id="LN4862">4862</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4863"><td class="num" id="LN4863">4863</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4864"><td class="num" id="LN4864">4864</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;name;</td></tr>
+<tr class="codeline" data-linenumber="4865"><td class="num" id="LN4865">4865</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4866"><td class="num" id="LN4866">4866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4867"><td class="num" id="LN4867">4867</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4868"><td class="num" id="LN4868">4868</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4869"><td class="num" id="LN4869">4869</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4870"><td class="num" id="LN4870">4870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4871"><td class="num" id="LN4871">4871</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4872"><td class="num" id="LN4872">4872</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4873"><td class="num" id="LN4873">4873</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4874"><td class="num" id="LN4874">4874</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4875"><td class="num" id="LN4875">4875</td><td class="line">panel_toplevel_set_expand (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4876"><td class="num" id="LN4876">4876</td><td class="line"> gboolean expand)</td></tr>
+<tr class="codeline" data-linenumber="4877"><td class="num" id="LN4877">4877</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4878"><td class="num" id="LN4878">4878</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4879"><td class="num" id="LN4879">4879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4880"><td class="num" id="LN4880">4880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; expand) {</td></tr>
+<tr class="codeline" data-linenumber="4881"><td class="num" id="LN4881">4881</td><td class="line"> g_warning (<span class='string_literal'>"attempt to expand attached toplevel; ignoring"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4882"><td class="num" id="LN4882">4882</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4883"><td class="num" id="LN4883">4883</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4884"><td class="num" id="LN4884">4884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4885"><td class="num" id="LN4885">4885</td><td class="line"> expand = expand != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4886"><td class="num" id="LN4886">4886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4887"><td class="num" id="LN4887">4887</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand == expand)</td></tr>
+<tr class="codeline" data-linenumber="4888"><td class="num" id="LN4888">4888</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4889"><td class="num" id="LN4889">4889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4890"><td class="num" id="LN4890">4890</td><td class="line"> toplevel-&gt;priv-&gt;expand = expand;</td></tr>
+<tr class="codeline" data-linenumber="4891"><td class="num" id="LN4891">4891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4892"><td class="num" id="LN4892">4892</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp; toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4893"><td class="num" id="LN4893">4893</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="4894"><td class="num" id="LN4894">4894</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="4895"><td class="num" id="LN4895">4895</td><td class="line"> panel_toplevel_set_x (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4896"><td class="num" id="LN4896">4896</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4897"><td class="num" id="LN4897">4897</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4898"><td class="num" id="LN4898">4898</td><td class="line"> panel_toplevel_set_x (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4899"><td class="num" id="LN4899">4899</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4900"><td class="num" id="LN4900">4900</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="4901"><td class="num" id="LN4901">4901</td><td class="line"> panel_toplevel_set_y (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4902"><td class="num" id="LN4902">4902</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4903"><td class="num" id="LN4903">4903</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4904"><td class="num" id="LN4904">4904</td><td class="line"> panel_toplevel_set_y (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4905"><td class="num" id="LN4905">4905</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4906"><td class="num" id="LN4906">4906</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4907"><td class="num" id="LN4907">4907</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 4907, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4908"><td class="num" id="LN4908">4908</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4909"><td class="num" id="LN4909">4909</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4910"><td class="num" id="LN4910">4910</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4911"><td class="num" id="LN4911">4911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4912"><td class="num" id="LN4912">4912</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4913"><td class="num" id="LN4913">4913</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4914"><td class="num" id="LN4914">4914</td><td class="line"> panel_widget_set_packed (toplevel-&gt;priv-&gt;panel_widget, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4915"><td class="num" id="LN4915">4915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4916"><td class="num" id="LN4916">4916</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"expand"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4917"><td class="num" id="LN4917">4917</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4918"><td class="num" id="LN4918">4918</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4919"><td class="num" id="LN4919">4919</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4920"><td class="num" id="LN4920">4920</td><td class="line">panel_toplevel_get_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4921"><td class="num" id="LN4921">4921</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4922"><td class="num" id="LN4922">4922</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4923"><td class="num" id="LN4923">4923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4924"><td class="num" id="LN4924">4924</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;expand;</td></tr>
+<tr class="codeline" data-linenumber="4925"><td class="num" id="LN4925">4925</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4926"><td class="num" id="LN4926">4926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4927"><td class="num" id="LN4927">4927</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4928"><td class="num" id="LN4928">4928</td><td class="line">panel_toplevel_get_is_floating (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4929"><td class="num" id="LN4929">4929</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4930"><td class="num" id="LN4930">4930</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4931"><td class="num" id="LN4931">4931</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4932"><td class="num" id="LN4932">4932</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;floating;</td></tr>
+<tr class="codeline" data-linenumber="4933"><td class="num" id="LN4933">4933</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4934"><td class="num" id="LN4934">4934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4935"><td class="num" id="LN4935">4935</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4936"><td class="num" id="LN4936">4936</td><td class="line">panel_toplevel_set_orientation (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4937"><td class="num" id="LN4937">4937</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="4938"><td class="num" id="LN4938">4938</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4939"><td class="num" id="LN4939">4939</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="4940"><td class="num" id="LN4940">4940</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="4941"><td class="num" id="LN4941">4941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4942"><td class="num" id="LN4942">4942</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4943"><td class="num" id="LN4943">4943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4944"><td class="num" id="LN4944">4944</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation == orientation)</td></tr>
+<tr class="codeline" data-linenumber="4945"><td class="num" id="LN4945">4945</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4946"><td class="num" id="LN4946">4946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4947"><td class="num" id="LN4947">4947</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4948"><td class="num" id="LN4948">4948</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4949"><td class="num" id="LN4949">4949</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="4950"><td class="num" id="LN4950">4950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4951"><td class="num" id="LN4951">4951</td><td class="line"> <span class='comment'>/* Un-snap from center if no longer along screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="4952"><td class="num" id="LN4952">4952</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4953"><td class="num" id="LN4953">4953</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4954"><td class="num" id="LN4954">4954</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4955"><td class="num" id="LN4955">4955</td><td class="line"> toplevel-&gt;priv-&gt;x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4956"><td class="num" id="LN4956">4956</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4957"><td class="num" id="LN4957">4957</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4958"><td class="num" id="LN4958">4958</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4959"><td class="num" id="LN4959">4959</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4960"><td class="num" id="LN4960">4960</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4961"><td class="num" id="LN4961">4961</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4962"><td class="num" id="LN4962">4962</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4963"><td class="num" id="LN4963">4963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4964"><td class="num" id="LN4964">4964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4965"><td class="num" id="LN4965">4965</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4966"><td class="num" id="LN4966">4966</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4967"><td class="num" id="LN4967">4967</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4968"><td class="num" id="LN4968">4968</td><td class="line"> toplevel-&gt;priv-&gt;y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4969"><td class="num" id="LN4969">4969</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4970"><td class="num" id="LN4970">4970</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4971"><td class="num" id="LN4971">4971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4972"><td class="num" id="LN4972">4972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4973"><td class="num" id="LN4973">4973</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4974"><td class="num" id="LN4974">4974</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4975"><td class="num" id="LN4975">4975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4976"><td class="num" id="LN4976">4976</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4977"><td class="num" id="LN4977">4977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4978"><td class="num" id="LN4978">4978</td><td class="line"> rotate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4979"><td class="num" id="LN4979">4979</td><td class="line"> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4980"><td class="num" id="LN4980">4980</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4981"><td class="num" id="LN4981">4981</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4982"><td class="num" id="LN4982">4982</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4983"><td class="num" id="LN4983">4983</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4984"><td class="num" id="LN4984">4984</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4985"><td class="num" id="LN4985">4985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4986"><td class="num" id="LN4986">4986</td><td class="line"> <span class='comment'>/* rotate around the center */</span></td></tr>
+<tr class="codeline" data-linenumber="4987"><td class="num" id="LN4987">4987</td><td class="line"> <span class='keyword'>if</span> (rotate &amp;&amp; !toplevel-&gt;priv-&gt;position_centered &amp;&amp; !toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4988"><td class="num" id="LN4988">4988</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4989"><td class="num" id="LN4989">4989</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4990"><td class="num" id="LN4990">4990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4991"><td class="num" id="LN4991">4991</td><td class="line"> <span class='comment'>/* x, y temporary refer to the panel center, so we don't care</span></td></tr>
+<tr class="codeline" data-linenumber="4992"><td class="num" id="LN4992">4992</td><td class="line"> <span class='comment'>* about x_right, y_bottom. Those will get updated in</span></td></tr>
+<tr class="codeline" data-linenumber="4993"><td class="num" id="LN4993">4993</td><td class="line"> <span class='comment'>* panel_toplevel_update_position() accordingly. */</span></td></tr>
+<tr class="codeline" data-linenumber="4994"><td class="num" id="LN4994">4994</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="4995"><td class="num" id="LN4995">4995</td><td class="line"> toplevel-&gt;priv-&gt;x += toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="4996"><td class="num" id="LN4996">4996</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4997"><td class="num" id="LN4997">4997</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4998"><td class="num" id="LN4998">4998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4999"><td class="num" id="LN4999">4999</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5000"><td class="num" id="LN5000">5000</td><td class="line"> toplevel-&gt;priv-&gt;y += toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="5001"><td class="num" id="LN5001">5001</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5002"><td class="num" id="LN5002">5002</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5003"><td class="num" id="LN5003">5003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5004"><td class="num" id="LN5004">5004</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5005"><td class="num" id="LN5005">5005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5006"><td class="num" id="LN5006">5006</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="5007"><td class="num" id="LN5007">5007</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5008"><td class="num" id="LN5008">5008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5009"><td class="num" id="LN5009">5009</td><td class="line"> gtk_widget_reset_style (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5010"><td class="num" id="LN5010">5010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5011"><td class="num" id="LN5011">5011</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5012"><td class="num" id="LN5012">5012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5013"><td class="num" id="LN5013">5013</td><td class="line"> panel_widget_set_orientation (</td></tr>
+<tr class="codeline" data-linenumber="5014"><td class="num" id="LN5014">5014</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="5015"><td class="num" id="LN5015">5015</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="5016"><td class="num" id="LN5016">5016</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="5017"><td class="num" id="LN5017">5017</td><td class="line"> GTK_ORIENTATION_VERTICAL);</td></tr>
+<tr class="codeline" data-linenumber="5018"><td class="num" id="LN5018">5018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5019"><td class="num" id="LN5019">5019</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="5020"><td class="num" id="LN5020">5020</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="5021"><td class="num" id="LN5021">5021</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5022"><td class="num" id="LN5022">5022</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5023"><td class="num" id="LN5023">5023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5024"><td class="num" id="LN5024">5024</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="5025"><td class="num" id="LN5025">5025</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5026"><td class="num" id="LN5026">5026</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="5027"><td class="num" id="LN5027">5027</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5028"><td class="num" id="LN5028">5028</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="5029"><td class="num" id="LN5029">5029</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5030"><td class="num" id="LN5030">5030</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="5031"><td class="num" id="LN5031">5031</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5032"><td class="num" id="LN5032">5032</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="5033"><td class="num" id="LN5033">5033</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5034"><td class="num" id="LN5034">5034</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="5035"><td class="num" id="LN5035">5035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5036"><td class="num" id="LN5036">5036</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="5037"><td class="num" id="LN5037">5037</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5038"><td class="num" id="LN5038">5038</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5039"><td class="num" id="LN5039">5039</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5040"><td class="num" id="LN5040">5040</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5041"><td class="num" id="LN5041">5041</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5042"><td class="num" id="LN5042">5042</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5043"><td class="num" id="LN5043">5043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5044"><td class="num" id="LN5044">5044</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5045"><td class="num" id="LN5045">5045</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5046"><td class="num" id="LN5046">5046</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="5047"><td class="num" id="LN5047">5047</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="5048"><td class="num" id="LN5048">5048</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5049"><td class="num" id="LN5049">5049</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5050"><td class="num" id="LN5050">5050</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="5051"><td class="num" id="LN5051">5051</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5052"><td class="num" id="LN5052">5052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5053"><td class="num" id="LN5053">5053</td><td class="line">PanelOrientation</td></tr>
+<tr class="codeline" data-linenumber="5054"><td class="num" id="LN5054">5054</td><td class="line">panel_toplevel_get_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5055"><td class="num" id="LN5055">5055</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5056"><td class="num" id="LN5056">5056</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), PANEL_ORIENTATION_TOP)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (PANEL_ORIENTATION_TOP<br>); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5057"><td class="num" id="LN5057">5057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5058"><td class="num" id="LN5058">5058</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5059"><td class="num" id="LN5059">5059</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5060"><td class="num" id="LN5060">5060</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5061"><td class="num" id="LN5061">5061</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5062"><td class="num" id="LN5062">5062</td><td class="line">panel_toplevel_set_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5063"><td class="num" id="LN5063">5063</td><td class="line"> <span class='keyword'>int</span> size)</td></tr>
+<tr class="codeline" data-linenumber="5064"><td class="num" id="LN5064">5064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5065"><td class="num" id="LN5065">5065</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5066"><td class="num" id="LN5066">5066</td><td class="line"> <span class='macro'>g_return_if_fail (size &gt;= 0)<span class='macro_popup'>do { if ((size &gt;= 0)) { } else { g_return_if_fail_warning (<br>((gchar*) 0), ((const char*) (__func__)), "size &gt;= 0"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5067"><td class="num" id="LN5067">5067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5068"><td class="num" id="LN5068">5068</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="5069"><td class="num" id="LN5069">5069</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5070"><td class="num" id="LN5070">5070</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5071"><td class="num" id="LN5071">5071</td><td class="line"> toplevel-&gt;priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="5072"><td class="num" id="LN5072">5072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5073"><td class="num" id="LN5073">5073</td><td class="line"> panel_widget_set_size (toplevel-&gt;priv-&gt;panel_widget, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="5074"><td class="num" id="LN5074">5074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5075"><td class="num" id="LN5075">5075</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5076"><td class="num" id="LN5076">5076</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5077"><td class="num" id="LN5077">5077</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5078"><td class="num" id="LN5078">5078</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5079"><td class="num" id="LN5079">5079</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5080"><td class="num" id="LN5080">5080</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5081"><td class="num" id="LN5081">5081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5082"><td class="num" id="LN5082">5082</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5083"><td class="num" id="LN5083">5083</td><td class="line">panel_toplevel_get_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5084"><td class="num" id="LN5084">5084</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5085"><td class="num" id="LN5085">5085</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (48); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5086"><td class="num" id="LN5086">5086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5087"><td class="num" id="LN5087">5087</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="5088"><td class="num" id="LN5088">5088</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5089"><td class="num" id="LN5089">5089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5090"><td class="num" id="LN5090">5090</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5091"><td class="num" id="LN5091">5091</td><td class="line">panel_toplevel_set_auto_hide_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5092"><td class="num" id="LN5092">5092</td><td class="line"> <span class='keyword'>int</span> auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5093"><td class="num" id="LN5093">5093</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5094"><td class="num" id="LN5094">5094</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5095"><td class="num" id="LN5095">5095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5096"><td class="num" id="LN5096">5096</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide_size == auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5097"><td class="num" id="LN5097">5097</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5098"><td class="num" id="LN5098">5098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5099"><td class="num" id="LN5099">5099</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5100"><td class="num" id="LN5100">5100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5101"><td class="num" id="LN5101">5101</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="5102"><td class="num" id="LN5102">5102</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="5103"><td class="num" id="LN5103">5103</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate) {</td></tr>
+<tr class="codeline" data-linenumber="5104"><td class="num" id="LN5104">5104</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5105"><td class="num" id="LN5105">5105</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="5106"><td class="num" id="LN5106">5106</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5107"><td class="num" id="LN5107">5107</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5108"><td class="num" id="LN5108">5108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5109"><td class="num" id="LN5109">5109</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5110"><td class="num" id="LN5110">5110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5111"><td class="num" id="LN5111">5111</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide-size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5112"><td class="num" id="LN5112">5112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5113"><td class="num" id="LN5113">5113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5114"><td class="num" id="LN5114">5114</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5115"><td class="num" id="LN5115">5115</td><td class="line">panel_toplevel_get_auto_hide_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5116"><td class="num" id="LN5116">5116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5117"><td class="num" id="LN5117">5117</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_AUTO_HIDE_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5118"><td class="num" id="LN5118">5118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5119"><td class="num" id="LN5119">5119</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5120"><td class="num" id="LN5120">5120</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5121"><td class="num" id="LN5121">5121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5122"><td class="num" id="LN5122">5122</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5123"><td class="num" id="LN5123">5123</td><td class="line">panel_toplevel_set_x (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5124"><td class="num" id="LN5124">5124</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="5125"><td class="num" id="LN5125">5125</td><td class="line"> <span class='keyword'>int</span> x_right,</td></tr>
+<tr class="codeline" data-linenumber="5126"><td class="num" id="LN5126">5126</td><td class="line"> gboolean x_centered)</td></tr>
+<tr class="codeline" data-linenumber="5127"><td class="num" id="LN5127">5127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5128"><td class="num" id="LN5128">5128</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5129"><td class="num" id="LN5129">5129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5130"><td class="num" id="LN5130">5130</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5131"><td class="num" id="LN5131">5131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5132"><td class="num" id="LN5132">5132</td><td class="line"> x_centered = x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5133"><td class="num" id="LN5133">5133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5134"><td class="num" id="LN5134">5134</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5135"><td class="num" id="LN5135">5135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5136"><td class="num" id="LN5136">5136</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="5137"><td class="num" id="LN5137">5137</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="5138"><td class="num" id="LN5138">5138</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5139"><td class="num" id="LN5139">5139</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5140"><td class="num" id="LN5140">5140</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5141"><td class="num" id="LN5141">5141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5142"><td class="num" id="LN5142">5142</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="5143"><td class="num" id="LN5143">5143</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="5144"><td class="num" id="LN5144">5144</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5145"><td class="num" id="LN5145">5145</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5146"><td class="num" id="LN5146">5146</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5147"><td class="num" id="LN5147">5147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5148"><td class="num" id="LN5148">5148</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered != x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5149"><td class="num" id="LN5149">5149</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = (x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5150"><td class="num" id="LN5150">5150</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5151"><td class="num" id="LN5151">5151</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5152"><td class="num" id="LN5152">5152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5153"><td class="num" id="LN5153">5153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5154"><td class="num" id="LN5154">5154</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5155"><td class="num" id="LN5155">5155</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5156"><td class="num" id="LN5156">5156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5157"><td class="num" id="LN5157">5157</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5158"><td class="num" id="LN5158">5158</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5159"><td class="num" id="LN5159">5159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5160"><td class="num" id="LN5160">5160</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5161"><td class="num" id="LN5161">5161</td><td class="line">panel_toplevel_set_y (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5162"><td class="num" id="LN5162">5162</td><td class="line"> <span class='keyword'>int</span> y,</td></tr>
+<tr class="codeline" data-linenumber="5163"><td class="num" id="LN5163">5163</td><td class="line"> <span class='keyword'>int</span> y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="5164"><td class="num" id="LN5164">5164</td><td class="line"> gboolean y_centered)</td></tr>
+<tr class="codeline" data-linenumber="5165"><td class="num" id="LN5165">5165</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5166"><td class="num" id="LN5166">5166</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5167"><td class="num" id="LN5167">5167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5168"><td class="num" id="LN5168">5168</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5169"><td class="num" id="LN5169">5169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5170"><td class="num" id="LN5170">5170</td><td class="line"> y_centered = y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5171"><td class="num" id="LN5171">5171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5172"><td class="num" id="LN5172">5172</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5173"><td class="num" id="LN5173">5173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5174"><td class="num" id="LN5174">5174</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="5175"><td class="num" id="LN5175">5175</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="5176"><td class="num" id="LN5176">5176</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5177"><td class="num" id="LN5177">5177</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5178"><td class="num" id="LN5178">5178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5179"><td class="num" id="LN5179">5179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5180"><td class="num" id="LN5180">5180</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="5181"><td class="num" id="LN5181">5181</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5182"><td class="num" id="LN5182">5182</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5183"><td class="num" id="LN5183">5183</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5184"><td class="num" id="LN5184">5184</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5185"><td class="num" id="LN5185">5185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5186"><td class="num" id="LN5186">5186</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered != y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5187"><td class="num" id="LN5187">5187</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = (y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5188"><td class="num" id="LN5188">5188</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5189"><td class="num" id="LN5189">5189</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5190"><td class="num" id="LN5190">5190</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5191"><td class="num" id="LN5191">5191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5192"><td class="num" id="LN5192">5192</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5193"><td class="num" id="LN5193">5193</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5194"><td class="num" id="LN5194">5194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5195"><td class="num" id="LN5195">5195</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5196"><td class="num" id="LN5196">5196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5197"><td class="num" id="LN5197">5197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5198"><td class="num" id="LN5198">5198</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5199"><td class="num" id="LN5199">5199</td><td class="line">panel_toplevel_get_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5200"><td class="num" id="LN5200">5200</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="5201"><td class="num" id="LN5201">5201</td><td class="line"> <span class='keyword'>int</span> *x_right,</td></tr>
+<tr class="codeline" data-linenumber="5202"><td class="num" id="LN5202">5202</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="5203"><td class="num" id="LN5203">5203</td><td class="line"> <span class='keyword'>int</span> *y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5204"><td class="num" id="LN5204">5204</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5205"><td class="num" id="LN5205">5205</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5206"><td class="num" id="LN5206">5206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5207"><td class="num" id="LN5207">5207</td><td class="line"> <span class='keyword'>if</span> (x)</td></tr>
+<tr class="codeline" data-linenumber="5208"><td class="num" id="LN5208">5208</td><td class="line"> *x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="5209"><td class="num" id="LN5209">5209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5210"><td class="num" id="LN5210">5210</td><td class="line"> <span class='keyword'>if</span> (y)</td></tr>
+<tr class="codeline" data-linenumber="5211"><td class="num" id="LN5211">5211</td><td class="line"> *y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="5212"><td class="num" id="LN5212">5212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5213"><td class="num" id="LN5213">5213</td><td class="line"> <span class='keyword'>if</span> (x_right)</td></tr>
+<tr class="codeline" data-linenumber="5214"><td class="num" id="LN5214">5214</td><td class="line"> *x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="5215"><td class="num" id="LN5215">5215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5216"><td class="num" id="LN5216">5216</td><td class="line"> <span class='keyword'>if</span> (y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5217"><td class="num" id="LN5217">5217</td><td class="line"> *y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5218"><td class="num" id="LN5218">5218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5219"><td class="num" id="LN5219">5219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5220"><td class="num" id="LN5220">5220</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5221"><td class="num" id="LN5221">5221</td><td class="line">panel_toplevel_get_x_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5222"><td class="num" id="LN5222">5222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5223"><td class="num" id="LN5223">5223</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5224"><td class="num" id="LN5224">5224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5225"><td class="num" id="LN5225">5225</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="5226"><td class="num" id="LN5226">5226</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5227"><td class="num" id="LN5227">5227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5228"><td class="num" id="LN5228">5228</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5229"><td class="num" id="LN5229">5229</td><td class="line">panel_toplevel_get_y_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5230"><td class="num" id="LN5230">5230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5231"><td class="num" id="LN5231">5231</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5232"><td class="num" id="LN5232">5232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5233"><td class="num" id="LN5233">5233</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="5234"><td class="num" id="LN5234">5234</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5235"><td class="num" id="LN5235">5235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5236"><td class="num" id="LN5236">5236</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5237"><td class="num" id="LN5237">5237</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal:</span></td></tr>
+<tr class="codeline" data-linenumber="5238"><td class="num" id="LN5238">5238</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5239"><td class="num" id="LN5239">5239</td><td class="line"> <span class='comment'>* Sets the monitor of the toplevel, but only the internal state. We need to</span></td></tr>
+<tr class="codeline" data-linenumber="5240"><td class="num" id="LN5240">5240</td><td class="line"> <span class='comment'>* make the difference between the internal state and the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5241"><td class="num" id="LN5241">5241</td><td class="line"> <span class='comment'>* user because internal constraints might affect the monitor of the toplevel.</span></td></tr>
+<tr class="codeline" data-linenumber="5242"><td class="num" id="LN5242">5242</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5243"><td class="num" id="LN5243">5243</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal() won't update the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5244"><td class="num" id="LN5244">5244</td><td class="line"> <span class='comment'>* user.</span></td></tr>
+<tr class="codeline" data-linenumber="5245"><td class="num" id="LN5245">5245</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5246"><td class="num" id="LN5246">5246</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5247"><td class="num" id="LN5247">5247</td><td class="line">panel_toplevel_set_monitor_internal (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5248"><td class="num" id="LN5248">5248</td><td class="line"> <span class='keyword'>int</span> monitor,</td></tr>
+<tr class="codeline" data-linenumber="5249"><td class="num" id="LN5249">5249</td><td class="line"> gboolean force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5250"><td class="num" id="LN5250">5250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5251"><td class="num" id="LN5251">5251</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5252"><td class="num" id="LN5252">5252</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5253"><td class="num" id="LN5253">5253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5254"><td class="num" id="LN5254">5254</td><td class="line"> toplevel-&gt;priv-&gt;monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5255"><td class="num" id="LN5255">5255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5256"><td class="num" id="LN5256">5256</td><td class="line"> <span class='keyword'>if</span> (force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5257"><td class="num" id="LN5257">5257</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5258"><td class="num" id="LN5258">5258</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5259"><td class="num" id="LN5259">5259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5260"><td class="num" id="LN5260">5260</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5261"><td class="num" id="LN5261">5261</td><td class="line"> <span class='comment'>* panel_toplevel_update_monitor:</span></td></tr>
+<tr class="codeline" data-linenumber="5262"><td class="num" id="LN5262">5262</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5263"><td class="num" id="LN5263">5263</td><td class="line"> <span class='comment'>* Moves the toplevel to its configured monitor or the first one, if needed.</span></td></tr>
+<tr class="codeline" data-linenumber="5264"><td class="num" id="LN5264">5264</td><td class="line"> <span class='comment'>* This generally happens when the configured monitor was non-existing before,</span></td></tr>
+<tr class="codeline" data-linenumber="5265"><td class="num" id="LN5265">5265</td><td class="line"> <span class='comment'>* and it appeared at runtime, or if it was existing and disappeared.</span></td></tr>
+<tr class="codeline" data-linenumber="5266"><td class="num" id="LN5266">5266</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5267"><td class="num" id="LN5267">5267</td><td class="line"> <span class='comment'>* This must only be called at the beginning of the size request of the</span></td></tr>
+<tr class="codeline" data-linenumber="5268"><td class="num" id="LN5268">5268</td><td class="line"> <span class='comment'>* toplevel because it doesn't queue a size request.</span></td></tr>
+<tr class="codeline" data-linenumber="5269"><td class="num" id="LN5269">5269</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5270"><td class="num" id="LN5270">5270</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5271"><td class="num" id="LN5271">5271</td><td class="line">panel_toplevel_update_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5272"><td class="num" id="LN5272">5272</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5273"><td class="num" id="LN5273">5273</td><td class="line"> <span class='comment'>/* If we were not using the configured monitor, can we use it now? */</span></td></tr>
+<tr class="codeline" data-linenumber="5274"><td class="num" id="LN5274">5274</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;configured_monitor != -1) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5275"><td class="num" id="LN5275">5275</td><td class="line"> (toplevel-&gt;priv-&gt;configured_monitor != toplevel-&gt;priv-&gt;monitor) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5276"><td class="num" id="LN5276">5276</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor &lt; panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5277"><td class="num" id="LN5277">5277</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5278"><td class="num" id="LN5278">5278</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor,</td></tr>
+<tr class="codeline" data-linenumber="5279"><td class="num" id="LN5279">5279</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5280"><td class="num" id="LN5280">5280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5281"><td class="num" id="LN5281">5281</td><td class="line"> <span class='comment'>/* else, can we still use the monitor we were using? */</span></td></tr>
+<tr class="codeline" data-linenumber="5282"><td class="num" id="LN5282">5282</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor &gt;= panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5283"><td class="num" id="LN5283">5283</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5284"><td class="num" id="LN5284">5284</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="5285"><td class="num" id="LN5285">5285</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5286"><td class="num" id="LN5286">5286</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5287"><td class="num" id="LN5287">5287</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5288"><td class="num" id="LN5288">5288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5289"><td class="num" id="LN5289">5289</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5290"><td class="num" id="LN5290">5290</td><td class="line">panel_toplevel_set_monitor (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5291"><td class="num" id="LN5291">5291</td><td class="line"> <span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="5292"><td class="num" id="LN5292">5292</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5293"><td class="num" id="LN5293">5293</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5294"><td class="num" id="LN5294">5294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5295"><td class="num" id="LN5295">5295</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;configured_monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5296"><td class="num" id="LN5296">5296</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5297"><td class="num" id="LN5297">5297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5298"><td class="num" id="LN5298">5298</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5299"><td class="num" id="LN5299">5299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5300"><td class="num" id="LN5300">5300</td><td class="line"> <span class='comment'>/* Only use the configured monitor if it's existing. Else, we ignore</span></td></tr>
+<tr class="codeline" data-linenumber="5301"><td class="num" id="LN5301">5301</td><td class="line"> <span class='comment'>* the non-existing monitor, and keep the old one. The main use case is</span></td></tr>
+<tr class="codeline" data-linenumber="5302"><td class="num" id="LN5302">5302</td><td class="line"> <span class='comment'>* when logging in after having used a multimonitor environment.</span></td></tr>
+<tr class="codeline" data-linenumber="5303"><td class="num" id="LN5303">5303</td><td class="line"> <span class='comment'>* We will put the panel on the monitor 0 for this session, and it will</span></td></tr>
+<tr class="codeline" data-linenumber="5304"><td class="num" id="LN5304">5304</td><td class="line"> <span class='comment'>* move back to the right monitor next time. */</span></td></tr>
+<tr class="codeline" data-linenumber="5305"><td class="num" id="LN5305">5305</td><td class="line"> <span class='keyword'>if</span> (monitor &lt; panel_multimonitor_monitors ())</td></tr>
+<tr class="codeline" data-linenumber="5306"><td class="num" id="LN5306">5306</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5307"><td class="num" id="LN5307">5307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5308"><td class="num" id="LN5308">5308</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"monitor"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5309"><td class="num" id="LN5309">5309</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5310"><td class="num" id="LN5310">5310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5311"><td class="num" id="LN5311">5311</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5312"><td class="num" id="LN5312">5312</td><td class="line">panel_toplevel_get_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5313"><td class="num" id="LN5313">5313</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5314"><td class="num" id="LN5314">5314</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5315"><td class="num" id="LN5315">5315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5316"><td class="num" id="LN5316">5316</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="5317"><td class="num" id="LN5317">5317</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5318"><td class="num" id="LN5318">5318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5319"><td class="num" id="LN5319">5319</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5320"><td class="num" id="LN5320">5320</td><td class="line">panel_toplevel_set_auto_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5321"><td class="num" id="LN5321">5321</td><td class="line"> gboolean auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5322"><td class="num" id="LN5322">5322</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5323"><td class="num" id="LN5323">5323</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5324"><td class="num" id="LN5324">5324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5325"><td class="num" id="LN5325">5325</td><td class="line"> auto_hide = auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5326"><td class="num" id="LN5326">5326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5327"><td class="num" id="LN5327">5327</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide == auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5328"><td class="num" id="LN5328">5328</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5329"><td class="num" id="LN5329">5329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5330"><td class="num" id="LN5330">5330</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = (auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5331"><td class="num" id="LN5331">5331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5332"><td class="num" id="LN5332">5332</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5333"><td class="num" id="LN5333">5333</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5334"><td class="num" id="LN5334">5334</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5335"><td class="num" id="LN5335">5335</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5336"><td class="num" id="LN5336">5336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5337"><td class="num" id="LN5337">5337</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="5338"><td class="num" id="LN5338">5338</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5339"><td class="num" id="LN5339">5339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5340"><td class="num" id="LN5340">5340</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5341"><td class="num" id="LN5341">5341</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5342"><td class="num" id="LN5342">5342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5343"><td class="num" id="LN5343">5343</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5344"><td class="num" id="LN5344">5344</td><td class="line">panel_toplevel_get_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5345"><td class="num" id="LN5345">5345</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5346"><td class="num" id="LN5346">5346</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5347"><td class="num" id="LN5347">5347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5348"><td class="num" id="LN5348">5348</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide;</td></tr>
+<tr class="codeline" data-linenumber="5349"><td class="num" id="LN5349">5349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5350"><td class="num" id="LN5350">5350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5351"><td class="num" id="LN5351">5351</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5352"><td class="num" id="LN5352">5352</td><td class="line">panel_toplevel_set_hide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5353"><td class="num" id="LN5353">5353</td><td class="line"> <span class='keyword'>int</span> hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5354"><td class="num" id="LN5354">5354</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5355"><td class="num" id="LN5355">5355</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5356"><td class="num" id="LN5356">5356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5357"><td class="num" id="LN5357">5357</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay == hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5358"><td class="num" id="LN5358">5358</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5359"><td class="num" id="LN5359">5359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5360"><td class="num" id="LN5360">5360</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5361"><td class="num" id="LN5361">5361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5362"><td class="num" id="LN5362">5362</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"hide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5363"><td class="num" id="LN5363">5363</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5364"><td class="num" id="LN5364">5364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5365"><td class="num" id="LN5365">5365</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5366"><td class="num" id="LN5366">5366</td><td class="line">panel_toplevel_get_hide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5367"><td class="num" id="LN5367">5367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5368"><td class="num" id="LN5368">5368</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5369"><td class="num" id="LN5369">5369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5370"><td class="num" id="LN5370">5370</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5371"><td class="num" id="LN5371">5371</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5372"><td class="num" id="LN5372">5372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5373"><td class="num" id="LN5373">5373</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5374"><td class="num" id="LN5374">5374</td><td class="line">panel_toplevel_set_unhide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5375"><td class="num" id="LN5375">5375</td><td class="line"> <span class='keyword'>int</span> unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5376"><td class="num" id="LN5376">5376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5377"><td class="num" id="LN5377">5377</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5378"><td class="num" id="LN5378">5378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5379"><td class="num" id="LN5379">5379</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay == unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5380"><td class="num" id="LN5380">5380</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5381"><td class="num" id="LN5381">5381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5382"><td class="num" id="LN5382">5382</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5383"><td class="num" id="LN5383">5383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5384"><td class="num" id="LN5384">5384</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"unhide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5385"><td class="num" id="LN5385">5385</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5386"><td class="num" id="LN5386">5386</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5387"><td class="num" id="LN5387">5387</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5388"><td class="num" id="LN5388">5388</td><td class="line">panel_toplevel_get_unhide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5389"><td class="num" id="LN5389">5389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5390"><td class="num" id="LN5390">5390</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5391"><td class="num" id="LN5391">5391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5392"><td class="num" id="LN5392">5392</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5393"><td class="num" id="LN5393">5393</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5394"><td class="num" id="LN5394">5394</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5395"><td class="num" id="LN5395">5395</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5396"><td class="num" id="LN5396">5396</td><td class="line">panel_toplevel_set_animate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5397"><td class="num" id="LN5397">5397</td><td class="line"> gboolean animate)</td></tr>
+<tr class="codeline" data-linenumber="5398"><td class="num" id="LN5398">5398</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5399"><td class="num" id="LN5399">5399</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5400"><td class="num" id="LN5400">5400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5401"><td class="num" id="LN5401">5401</td><td class="line"> animate = animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5402"><td class="num" id="LN5402">5402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5403"><td class="num" id="LN5403">5403</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate == animate)</td></tr>
+<tr class="codeline" data-linenumber="5404"><td class="num" id="LN5404">5404</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5405"><td class="num" id="LN5405">5405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5406"><td class="num" id="LN5406">5406</td><td class="line"> toplevel-&gt;priv-&gt;animate = (animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5407"><td class="num" id="LN5407">5407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5408"><td class="num" id="LN5408">5408</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animate"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5409"><td class="num" id="LN5409">5409</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5410"><td class="num" id="LN5410">5410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5411"><td class="num" id="LN5411">5411</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5412"><td class="num" id="LN5412">5412</td><td class="line">panel_toplevel_get_animate (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5413"><td class="num" id="LN5413">5413</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5414"><td class="num" id="LN5414">5414</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5415"><td class="num" id="LN5415">5415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5416"><td class="num" id="LN5416">5416</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animate;</td></tr>
+<tr class="codeline" data-linenumber="5417"><td class="num" id="LN5417">5417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5418"><td class="num" id="LN5418">5418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5419"><td class="num" id="LN5419">5419</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5420"><td class="num" id="LN5420">5420</td><td class="line">panel_toplevel_set_animation_speed (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5421"><td class="num" id="LN5421">5421</td><td class="line"> PanelAnimationSpeed animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5422"><td class="num" id="LN5422">5422</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5423"><td class="num" id="LN5423">5423</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5424"><td class="num" id="LN5424">5424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5425"><td class="num" id="LN5425">5425</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_speed == animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5426"><td class="num" id="LN5426">5426</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5427"><td class="num" id="LN5427">5427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5428"><td class="num" id="LN5428">5428</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5429"><td class="num" id="LN5429">5429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5430"><td class="num" id="LN5430">5430</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animation-speed"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5431"><td class="num" id="LN5431">5431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5432"><td class="num" id="LN5432">5432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5433"><td class="num" id="LN5433">5433</td><td class="line">PanelAnimationSpeed</td></tr>
+<tr class="codeline" data-linenumber="5434"><td class="num" id="LN5434">5434</td><td class="line">panel_toplevel_get_animation_speed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5435"><td class="num" id="LN5435">5435</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5436"><td class="num" id="LN5436">5436</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5437"><td class="num" id="LN5437">5437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5438"><td class="num" id="LN5438">5438</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5439"><td class="num" id="LN5439">5439</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5440"><td class="num" id="LN5440">5440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5441"><td class="num" id="LN5441">5441</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5442"><td class="num" id="LN5442">5442</td><td class="line">panel_toplevel_set_enable_buttons (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5443"><td class="num" id="LN5443">5443</td><td class="line"> gboolean enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5444"><td class="num" id="LN5444">5444</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5445"><td class="num" id="LN5445">5445</td><td class="line"> enable_buttons = enable_buttons != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5446"><td class="num" id="LN5446">5446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5447"><td class="num" id="LN5447">5447</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled == enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5448"><td class="num" id="LN5448">5448</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5449"><td class="num" id="LN5449">5449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5450"><td class="num" id="LN5450">5450</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = enable_buttons;</td></tr>
+<tr class="codeline" data-linenumber="5451"><td class="num" id="LN5451">5451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5452"><td class="num" id="LN5452">5452</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5453"><td class="num" id="LN5453">5453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5454"><td class="num" id="LN5454">5454</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"buttons-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5455"><td class="num" id="LN5455">5455</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5456"><td class="num" id="LN5456">5456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5457"><td class="num" id="LN5457">5457</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5458"><td class="num" id="LN5458">5458</td><td class="line">panel_toplevel_get_enable_buttons (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5459"><td class="num" id="LN5459">5459</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5460"><td class="num" id="LN5460">5460</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5461"><td class="num" id="LN5461">5461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5462"><td class="num" id="LN5462">5462</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;buttons_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5463"><td class="num" id="LN5463">5463</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5464"><td class="num" id="LN5464">5464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5465"><td class="num" id="LN5465">5465</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5466"><td class="num" id="LN5466">5466</td><td class="line">panel_toplevel_set_enable_arrows (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5467"><td class="num" id="LN5467">5467</td><td class="line"> gboolean enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5468"><td class="num" id="LN5468">5468</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5469"><td class="num" id="LN5469">5469</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5470"><td class="num" id="LN5470">5470</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5471"><td class="num" id="LN5471">5471</td><td class="line"> enable_arrows = enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5472"><td class="num" id="LN5472">5472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5473"><td class="num" id="LN5473">5473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled == enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5474"><td class="num" id="LN5474">5474</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5475"><td class="num" id="LN5475">5475</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5476"><td class="num" id="LN5476">5476</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = (enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5477"><td class="num" id="LN5477">5477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5478"><td class="num" id="LN5478">5478</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5479"><td class="num" id="LN5479">5479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5480"><td class="num" id="LN5480">5480</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrows-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5481"><td class="num" id="LN5481">5481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5482"><td class="num" id="LN5482">5482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5483"><td class="num" id="LN5483">5483</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5484"><td class="num" id="LN5484">5484</td><td class="line">panel_toplevel_get_enable_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5485"><td class="num" id="LN5485">5485</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5486"><td class="num" id="LN5486">5486</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5487"><td class="num" id="LN5487">5487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5488"><td class="num" id="LN5488">5488</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;arrows_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5489"><td class="num" id="LN5489">5489</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5490"><td class="num" id="LN5490">5490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5491"><td class="num" id="LN5491">5491</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5492"><td class="num" id="LN5492">5492</td><td class="line">panel_toplevel_rotate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5493"><td class="num" id="LN5493">5493</td><td class="line"> gboolean clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5494"><td class="num" id="LN5494">5494</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5495"><td class="num" id="LN5495">5495</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="5496"><td class="num" id="LN5496">5496</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5497"><td class="num" id="LN5497">5497</td><td class="line"> <span class='comment'>/* Relies on PanelOrientation definition:</span></td></tr>
+<tr class="codeline" data-linenumber="5498"><td class="num" id="LN5498">5498</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5499"><td class="num" id="LN5499">5499</td><td class="line"> <span class='comment'>* typedef enum {</span></td></tr>
+<tr class="codeline" data-linenumber="5500"><td class="num" id="LN5500">5500</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_TOP = 1 &lt;&lt; 0,</span></td></tr>
+<tr class="codeline" data-linenumber="5501"><td class="num" id="LN5501">5501</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_RIGHT = 1 &lt;&lt; 1,</span></td></tr>
+<tr class="codeline" data-linenumber="5502"><td class="num" id="LN5502">5502</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_BOTTOM = 1 &lt;&lt; 2,</span></td></tr>
+<tr class="codeline" data-linenumber="5503"><td class="num" id="LN5503">5503</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_LEFT = 1 &lt;&lt; 3</span></td></tr>
+<tr class="codeline" data-linenumber="5504"><td class="num" id="LN5504">5504</td><td class="line"> <span class='comment'>* } PanelOrientation;</span></td></tr>
+<tr class="codeline" data-linenumber="5505"><td class="num" id="LN5505">5505</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="5506"><td class="num" id="LN5506">5506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5507"><td class="num" id="LN5507">5507</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5508"><td class="num" id="LN5508">5508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5509"><td class="num" id="LN5509">5509</td><td class="line"> <span class='keyword'>if</span> (clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5510"><td class="num" id="LN5510">5510</td><td class="line"> orientation &lt;&lt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5511"><td class="num" id="LN5511">5511</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5512"><td class="num" id="LN5512">5512</td><td class="line"> orientation &gt;&gt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5513"><td class="num" id="LN5513">5513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5514"><td class="num" id="LN5514">5514</td><td class="line"> <span class='keyword'>if</span> (orientation == 0)</td></tr>
+<tr class="codeline" data-linenumber="5515"><td class="num" id="LN5515">5515</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5516"><td class="num" id="LN5516">5516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5517"><td class="num" id="LN5517">5517</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (orientation &gt; PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="5518"><td class="num" id="LN5518">5518</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="5519"><td class="num" id="LN5519">5519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5520"><td class="num" id="LN5520">5520</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="5521"><td class="num" id="LN5521">5521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5522"><td class="num" id="LN5522">5522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5523"><td class="num" id="LN5523">5523</td><td class="line">PanelState</td></tr>
+<tr class="codeline" data-linenumber="5524"><td class="num" id="LN5524">5524</td><td class="line">panel_toplevel_get_state (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5525"><td class="num" id="LN5525">5525</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5526"><td class="num" id="LN5526">5526</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5527"><td class="num" id="LN5527">5527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5528"><td class="num" id="LN5528">5528</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="5529"><td class="num" id="LN5529">5529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5530"><td class="num" id="LN5530">5530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5531"><td class="num" id="LN5531">5531</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5532"><td class="num" id="LN5532">5532</td><td class="line">panel_toplevel_get_is_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5533"><td class="num" id="LN5533">5533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5534"><td class="num" id="LN5534">5534</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5535"><td class="num" id="LN5535">5535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5536"><td class="num" id="LN5536">5536</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||</td></tr>
+<tr class="codeline" data-linenumber="5537"><td class="num" id="LN5537">5537</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="5538"><td class="num" id="LN5538">5538</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="5539"><td class="num" id="LN5539">5539</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="5540"><td class="num" id="LN5540">5540</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5541"><td class="num" id="LN5541">5541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5542"><td class="num" id="LN5542">5542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5543"><td class="num" id="LN5543">5543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5544"><td class="num" id="LN5544">5544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5545"><td class="num" id="LN5545">5545</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5546"><td class="num" id="LN5546">5546</td><td class="line">panel_toplevel_get_minimum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5547"><td class="num" id="LN5547">5547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5548"><td class="num" id="LN5548">5548</td><td class="line"> <span class='keyword'>return</span> calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="5549"><td class="num" id="LN5549">5549</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="5550"><td class="num" id="LN5550">5550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5551"><td class="num" id="LN5551">5551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5552"><td class="num" id="LN5552">5552</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5553"><td class="num" id="LN5553">5553</td><td class="line">panel_toplevel_get_maximum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5554"><td class="num" id="LN5554">5554</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5555"><td class="num" id="LN5555">5555</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="5556"><td class="num" id="LN5556">5556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5557"><td class="num" id="LN5557">5557</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="5558"><td class="num" id="LN5558">5558</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5559"><td class="num" id="LN5559">5559</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5560"><td class="num" id="LN5560">5560</td><td class="line"> <span class='keyword'>return</span> monitor_geom.height / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5561"><td class="num" id="LN5561">5561</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5562"><td class="num" id="LN5562">5562</td><td class="line"> <span class='keyword'>return</span> monitor_geom.width / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5563"><td class="num" id="LN5563">5563</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-92ce7b.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-92ce7b.html
new file mode 100644
index 00000000..2dd94e0e
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-92ce7b.html
@@ -0,0 +1,3246 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet.c -->
+
+<!-- FILENAME mate-panel-applet.c -->
+
+<!-- FUNCTIONNAME mate_panel_applet_get_property -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 92ce7be72f3e4dbe85c750ea012c170f -->
+
+<!-- BUGLINE 1704 -->
+
+<!-- BUGCOLUMN 35 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 1704, column 35</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"1704": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet.c: panel applet writing library.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (c) 2010 Carlos Garcia Campos &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2001 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;cairo-xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;gtk/gtkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;X11/Xatom.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-plug-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-applet-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "mate-panel-applet-factory.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "mate-panel-applet-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "mate-panel-applet-enums.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget *plug;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> GDBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gboolean out_of_process;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> GClosure *closure;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint object_id;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>char</span> *prefs_path;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> GtkUIManager *ui_manager;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkActionGroup *applet_action_group;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> GtkActionGroup *panel_action_group;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint size;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>char</span> *background;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>int</span> previous_width;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>int</span> previous_height;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='keyword'>int</span> size_hints_len;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gboolean moving_focus_out;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> gboolean locked_down;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} MatePanelAppletPrivate;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> CHANGE_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> CHANGE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> CHANGE_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> MOVE_FOCUS_OUT_OF_APPLET,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"><span class='keyword'>static</span> guint mate_panel_applet_signals[LAST_SIGNAL] = { 0 };</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> PROP_LOCKED_DOWN</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_handle_background (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> GtkAction *mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>const</span> gchar *action);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_update_actions (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_register_object (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css (GtkWidget* widget, MatePanelAppletBackgroundType type);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar panel_menu_ui[] =</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='string_literal'>"&lt;ui&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>" &lt;popup name=\"MatePanelAppletPopup\" action=\"PopupAction\"&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='string_literal'>" &lt;placeholder name=\"AppletItems\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"RemoveItem\" action=\"Remove\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"MoveItem\" action=\"Move\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"LockItem\" action=\"Lock\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='string_literal'>" &lt;/popup&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='string_literal'>"&lt;/ui&gt;\n"</span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry menu_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> { <span class='string_literal'>"Remove"</span>, <span class='string_literal'>"list-remove"</span>, <span class='macro'>N_(<span class='string_literal'>"_Remove From Panel"</span>)<span class='macro_popup'>("_Remove From Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_remove)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_remove))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> { <span class='string_literal'>"Move"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"_Move"</span>)<span class='macro_popup'>("_Move")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_move)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_move))</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkToggleActionEntry menu_toggle_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> { <span class='string_literal'>"Lock"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"Loc_k To Panel"</span>)<span class='macro_popup'>("Loc_k To Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_lock)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_lock))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (MatePanelApplet, mate_panel_applet, GTK_TYPE_EVENT_BOX)<span class='macro_popup'>static void mate_panel_applet_init (MatePanelApplet *self); static<br> void mate_panel_applet_class_init (MatePanelAppletClass *klass<br>); static GType mate_panel_applet_get_type_once (void); static<br> gpointer mate_panel_applet_parent_class = ((void*)0); static<br> gint MatePanelApplet_private_offset; static void mate_panel_applet_class_intern_init<br> (gpointer klass) { mate_panel_applet_parent_class = g_type_class_peek_parent<br> (klass); if (MatePanelApplet_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;MatePanelApplet_private_offset); mate_panel_applet_class_init<br> ((MatePanelAppletClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer mate_panel_applet_get_instance_private<br> (MatePanelApplet *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (MatePanelApplet_private_offset)))); } GType mate_panel_applet_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = mate_panel_applet_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType mate_panel_applet_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_event_box_get_type ()), g_intern_static_string ("MatePanelApplet"<br>), sizeof (MatePanelAppletClass), (GClassInitFunc)(void (*)(void<br>)) mate_panel_applet_class_intern_init, sizeof (MatePanelApplet<br>), (GInstanceInitFunc)(void (*)(void)) mate_panel_applet_init<br>, (GTypeFlags) 0); { {{ MatePanelApplet_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (MatePanelAppletPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span> "org.mate.panel.applet.Applet"</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span> "/org/mate/panel/applet/%s/%d"</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">mate_panel_applet_get_preferences_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (priv-&gt;prefs_path)<span class='macro_popup'>g_strdup_inline (priv-&gt;prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">mate_panel_applet_set_preferences_path (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;prefs_path == prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;prefs_path, prefs_path) == 0)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>if</span> (prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> priv-&gt;prefs_path = <span class='macro'>g_strdup (prefs_path)<span class='macro_popup'>g_strdup_inline (prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"prefs-path"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">MatePanelAppletFlags</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line">mate_panel_applet_get_flags (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), MATE_PANEL_APPLET_FLAGS_NONE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (MATE_PANEL_APPLET_FLAGS_NONE); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>return</span> priv-&gt;flags;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">mate_panel_applet_set_flags (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> MatePanelAppletFlags flags)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;flags == flags)</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> priv-&gt;flags = flags;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"flags"</span>);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> g_variant_new_uint32 (priv-&gt;flags));</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::Flags: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line">mate_panel_applet_size_hints_ensure (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> new_size)</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints &amp;&amp; priv-&gt;size_hints_len &lt; new_size) {</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> g_free (priv-&gt;size_hints);</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!priv-&gt;size_hints) {</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> priv-&gt;size_hints_len = new_size;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line">mate_panel_applet_size_hints_changed (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;size_hints)</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints_len != n_elements)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++) {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>if</span> (size_hints[i] + base_size != priv-&gt;size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='comment'>* mate_panel_applet_set_size_hints:</span></td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='comment'>* @applet: applet</span></td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='comment'>* @size_hints: (array length=n_elements): List of integers</span></td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='comment'>* @n_elements: Length of @size_hints</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='comment'>* @base_size: base_size</span></td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line">mate_panel_applet_set_size_hints (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='comment'>/* Make sure property has really changed to avoid bus traffic */</span></td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_size_hints_changed (applet, size_hints, n_elements, base_size))</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> mate_panel_applet_size_hints_ensure (applet, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> priv-&gt;size_hints[i] = size_hints[i] + base_size;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size-hints"</span>);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> children, priv-&gt;size_hints_len));</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::SizeHints: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line">guint</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line">mate_panel_applet_get_size (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>return</span> priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"><span class='comment'>/* Applets cannot set their size, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line">mate_panel_applet_set_size (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> guint size)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE],</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> 0, size);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line">MatePanelAppletOrient</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">mate_panel_applet_get_orient (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span> priv-&gt;orient;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"><span class='comment'>/* Applets cannot set their orientation, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">mate_panel_applet_set_orient (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> MatePanelAppletOrient orient)</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == orient)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> priv-&gt;orient = orient;</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT],</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> 0, orient);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orient"</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line">mate_panel_applet_set_locked (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> gboolean locked)</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> GtkAction *action;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked == locked)</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> priv-&gt;locked = locked;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> action = mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>);</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='macro'>g_signal_handlers_block_by_func (action,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> gtk_toggle_action_set_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>, locked);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='macro'>g_signal_handlers_unblock_by_func (action,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked"</span>);</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal %s: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line">mate_panel_applet_get_locked_down (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> priv-&gt;locked_down;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"><span class='comment'>/* Applets cannot set the lockdown state, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line">mate_panel_applet_set_locked_down (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> gboolean locked_down)</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked_down == locked_down)</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> priv-&gt;locked_down = locked_down;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked-down"</span>);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type_dock = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"><span class='keyword'>static</span> Atom _net_active_window = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line">mate_panel_applet_init_atoms (Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> _net_wm_window_type = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE"</span>,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type_dock == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> _net_wm_window_type_dock = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE_DOCK"</span>,</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (_net_active_window == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> _net_active_window = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='string_literal'>"_NET_ACTIVE_WINDOW"</span>,</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='keyword'>static</span> Window</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line">mate_panel_applet_find_toplevel_dock_window (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> Window xwin;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> Window root, parent, *child;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>int</span> num_children;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> xwin = <span class='macro'>GDK_WINDOW_XID (gtk_widget_get_window (toplevel))<span class='macro_popup'>(gdk_x11_window_get_xid (gtk_widget_get_window (toplevel)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> child = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> parent = root = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> Atom type_return;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> Atom window_type;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='keyword'>int</span> format_return;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> gulong number_return, bytes_after_return;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> guchar *data_return;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> XGetWindowProperty (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> _net_wm_window_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> 0, 1, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> &amp;type_return, &amp;format_return,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> &amp;number_return,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> &amp;bytes_after_return,</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> &amp;data_return);</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='keyword'>if</span> (type_return == <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> window_type = *(Atom *) data_return;</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> XFree (data_return);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> data_return = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='keyword'>if</span> (window_type == _net_wm_window_type_dock)</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='keyword'>return</span> xwin;</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> <span class='keyword'>if</span> (!XQueryTree (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> &amp;root, &amp;parent, &amp;child,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> (guint *) &amp;num_children)) {</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; num_children &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> XFree (child);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> xwin = parent;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> } <span class='keyword'>while</span> (xwin != <span class='macro'>None<span class='macro_popup'>0L</span></span> &amp;&amp; xwin != root);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"><span class='comment'>/* This function</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> <span class='comment'>* 1) Gets the window id of the panel that contains the applet</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='comment'>* using XQueryTree and XGetWindowProperty to find an ancestor</span></td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='comment'>* window with the _NET_WM_WINDOW_TYPE_DOCK window type.</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='comment'>* 2) Sends a _NET_ACTIVE_WINDOW message to get that panel focused</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">mate_panel_applet_request_focus (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> guint32 timestamp)</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> GdkWindow *root;</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> Window dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> Window xroot;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> XEvent xev;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> screen = gdk_screen_get_default(); <span class='comment'>/*There is only one screen since GTK 3.22*/</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> root = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> xdisplay = <span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> xroot = <span class='macro'>GDK_WINDOW_XID (root)<span class='macro_popup'>(gdk_x11_window_get_xid (root))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> mate_panel_applet_init_atoms (xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> dock_xwindow = mate_panel_applet_find_toplevel_dock_window (applet, xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>if</span> (dock_xwindow == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> xev.xclient.type = <span class='macro'>ClientMessage<span class='macro_popup'>33</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> xev.xclient.serial = 0;</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> xev.xclient.send_event = <span class='macro'>True<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> xev.xclient.window = dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xev.xclient.message_type = _net_active_window;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> xev.xclient.format = 32;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> xev.xclient.data.l[0] = 1; <span class='comment'>/* requestor type; we're an app, I guess */</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> xev.xclient.data.l[1] = timestamp;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> xev.xclient.data.l[2] = <span class='macro'>None<span class='macro_popup'>0L</span></span>; <span class='comment'>/* "currently active window", supposedly */</span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> xev.xclient.data.l[3] = 0;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> xev.xclient.data.l[4] = 0;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> XSendEvent (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> xroot, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='macro'>SubstructureRedirectMask<span class='macro_popup'>(1L&lt;&lt;20)</span></span> | <span class='macro'>SubstructureNotifyMask<span class='macro_popup'>(1L&lt;&lt;19)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> &amp;xev);</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"><span class='keyword'>static</span> GtkAction *</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line">mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>const</span> gchar *action)</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span> gtk_action_group_get_action (priv-&gt;panel_action_group, action);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line">mate_panel_applet_menu_update_actions (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>),</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Move"</span>),</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Remove"</span>),</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='string_literal'>"RemoveFromPanel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='string_literal'>"Move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line">mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> locked = gtk_toggle_action_get_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> mate_panel_applet_set_locked (applet, locked);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line">mate_panel_applet_setup_menu (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>const</span> gchar *xml,</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> gchar *new_xml;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> <span class='macro'>g_return_if_fail (xml != NULL)<span class='macro_popup'>do { if ((xml != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xml != NULL"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> priv-&gt;applet_action_group = <span class='macro'>g_object_ref (applet_action_group)<span class='macro_popup'>((__typeof__ (applet_action_group)) (g_object_ref) (applet_action_group<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> applet_action_group, 0);</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> new_xml = g_strdup_printf (<span class='string_literal'>"&lt;ui&gt;&lt;popup name=\"MatePanelAppletPopup\" action=\"AppletItems\"&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='string_literal'>"&lt;placeholder name=\"AppletItems\"&gt;%s\n&lt;/placeholder&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='string_literal'>"&lt;/popup&gt;&lt;/ui&gt;\n"</span>, xml);</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager, new_xml, -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> g_free (new_xml);</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> gtk_ui_manager_ensure_update (priv-&gt;ui_manager);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> g_warning (<span class='string_literal'>"Error merging menus: %s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line">mate_panel_applet_setup_menu_from_file (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>const</span> gchar *filename,</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> gchar *xml = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='keyword'>if</span> (g_file_get_contents (filename, &amp;xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> mate_panel_applet_setup_menu (applet, xml, applet_action_group);</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> g_free (xml);</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* mate_panel_applet_setup_menu_from_resource:</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>* @applet: a #MatePanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='comment'>* @resource_path: a resource path</span></td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='comment'>* @action_group: a #GtkActionGroup.</span></td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='comment'>* Sets up the context menu of @applet. @filename is a resource path to a menu</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='comment'>* XML file, containing a #GtkUIManager UI definition that describes how to</span></td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='comment'>* display the menu items. @action_group contains the various #GtkAction that</span></td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='comment'>* are referenced in @xml.</span></td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='comment'>* See also the &lt;link linkend="getting-started.context-menu"&gt;Context</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='comment'>* Menu&lt;/link&gt; section.</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='comment'>* Since: 1.20.1</span></td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line">mate_panel_applet_setup_menu_from_resource (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>const</span> gchar *resource_path,</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> GtkActionGroup *action_group)</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> GBytes *bytes;</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> bytes = g_resources_lookup_data (resource_path,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> G_RESOURCE_LOOKUP_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> <span class='keyword'>if</span> (bytes) {</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> mate_panel_applet_setup_menu (applet,</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> g_bytes_get_data (bytes, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> g_bytes_unref (bytes);</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">mate_panel_applet_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;object_id)</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_dbus_connection_unregister_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> priv-&gt;object_id);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> priv-&gt;object_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;connection)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;connection)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;connection))) _pp = ((&amp;priv-&gt;connection)<br>); __typeof__ (*((&amp;priv-&gt;connection))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;object_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;object_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;object_path)) _pp = (&amp;priv-&gt;object_path); __typeof__<br> (*(&amp;priv-&gt;object_path)) _ptr = *_pp; *_pp = ((void*)0<br>); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> mate_panel_applet_set_preferences_path (applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;applet_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;applet_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;applet_action_group))) _pp = ((&amp;priv-&gt;<br>applet_action_group)); __typeof__ (*((&amp;priv-&gt;applet_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;panel_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;panel_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;panel_action_group))) _pp = ((&amp;priv-&gt;<br>panel_action_group)); __typeof__ (*((&amp;priv-&gt;panel_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;ui_manager)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;ui_manager)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;ui_manager))) _pp = ((&amp;priv-&gt;ui_manager)<br>); __typeof__ (*((&amp;priv-&gt;ui_manager))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;size_hints, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;size_hints) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;size_hints)) _pp = (&amp;priv-&gt;size_hints); __typeof__<br> (*(&amp;priv-&gt;size_hints)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;prefs_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;prefs_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;prefs_path)) _pp = (&amp;priv-&gt;prefs_path); __typeof__<br> (*(&amp;priv-&gt;prefs_path)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;background, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;background) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;background)) _pp = (&amp;priv-&gt;background); __typeof__<br> (*(&amp;priv-&gt;background)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;id, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;id) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;priv-&gt;<br>id)) _pp = (&amp;priv-&gt;id); __typeof__ (*(&amp;priv-&gt;id<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> <span class='comment'>/* closure is owned by the factory */</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> priv-&gt;closure = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line">container_has_focusable_child (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GList *t;</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> list = gtk_container_get_children (container);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='keyword'>for</span> (t = list; t; t = t-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> GtkWidget *child = <span class='macro'>GTK_WIDGET (t-&gt;data)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((t-&gt;data)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_can_focus (child)) {</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GTK_IS_CONTAINER (child)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(child)); GType __t = ((gtk_container_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> retval = container_has_focusable_child (<span class='macro'>GTK_CONTAINER (child)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((child)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='keyword'>if</span> (retval)</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_list_free (list);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line">mate_panel_applet_menu_popup (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> GdkEvent *event)</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> GtkWidget *menu;</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> menu = gtk_ui_manager_get_widget (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='string_literal'>"/MatePanelAppletPopup"</span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='comment'>/* Set up theme and transparency support */</span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> GtkWidget *toplevel = gtk_widget_get_toplevel (menu);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"><span class='comment'>/* Fix any failures of compiz/other wm's to communicate with gtk for transparency */</span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"><span class='comment'>/* Set menu and it's toplevel window to follow panel theme */</span></td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> GdkGravity widget_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> GdkGravity menu_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (priv-&gt;orient) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> menu_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> widget_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> menu_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> widget_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> gtk_menu_popup_at_widget (<span class='macro'>GTK_MENU (menu)<span class='macro_popup'>((((GtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> widget_anchor,</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> menu_anchor,</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> event);</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line">mate_panel_applet_can_focus (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='comment'>* A MatePanelApplet widget can focus if it has a tooltip or it does</span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='comment'>* not have any focusable children.</span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget))</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>if</span> (!MATE_PANEL_IS_APPLET (widget))</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>return</span> !container_has_focusable_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"><span class='comment'>/* Taken from libmatecomponentui/matecomponent/matecomponent-plug.c */</span></td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line">mate_panel_applet_button_event (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> GdkWindow *socket_window;</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> XEvent xevent;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> widget = priv-&gt;plug;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_toplevel (widget))</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> socket_window = gtk_plug_get_socket_window (<span class='macro'>GTK_PLUG (widget)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (event-&gt;type == GDK_BUTTON_PRESS) {</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonPress<span class='macro_popup'>4</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='comment'>/* X does an automatic pointer grab on button press</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='comment'>* if we have both button press and release events</span></td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='comment'>* selected.</span></td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='comment'>* We don't want to hog the pointer on our parent.</span></td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonRelease<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> xevent.xbutton.display = <span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> xevent.xbutton.window = <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> xevent.xbutton.root = <span class='macro'>GDK_WINDOW_XID (gdk_screen_get_root_window<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> <span class='macro'>(gdk_window_get_screen (window)))<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> <span class='comment'>* FIXME: the following might cause</span></td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='comment'>* big problems for non-GTK apps</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> xevent.xbutton.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> xevent.xbutton.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> xevent.xbutton.x_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> xevent.xbutton.y_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> xevent.xbutton.state = event-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> xevent.xbutton.button = event-&gt;button;</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xevent.xbutton.same_screen = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; <span class='comment'>/* FIXME ? */</span></td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> XSendEvent (<span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>NoEventMask<span class='macro_popup'>0L</span></span>, &amp;xevent);</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> gdk_display_flush (display);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line">mate_panel_applet_button_press (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>if</span> (!container_has_focusable_child (<span class='macro'>GTK_CONTAINER (applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_container_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>/*Limit the window list's applet menu to the handle area*/</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='keyword'>if</span> (!(<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> flags = mate_panel_applet_get_flags (applet);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>if</span> (flags &amp; MATE_PANEL_APPLET_EXPAND_MAJOR)</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 3) {</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> mate_panel_applet_menu_popup (applet, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">mate_panel_applet_button_release (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='comment'>/*Open the applet context menu only on Menu key</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='comment'>*Do not open it on Return or some applets won't work</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line">mate_panel_applet_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='keyword'>if</span> (event-&gt;keyval == <span class='macro'>GDK_KEY_Menu<span class='macro_popup'>0xff67</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> mate_panel_applet_menu_popup (MATE_PANEL_APPLET (widget), (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line">mate_panel_applet_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> <span class='keyword'>int</span> *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>int</span> *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_width (widget,</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> natural_width);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> *minimum_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> *natural_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line">mate_panel_applet_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='keyword'>int</span> *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>int</span> *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_height (widget,</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> natural_height);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> *minimum_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> *natural_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"><span class='keyword'>static</span> GtkSizeRequestMode</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line">mate_panel_applet_get_request_mode (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='comment'>/* Do not use GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='comment'>* or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='comment'>* to avoid problems with in-process applets</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='comment'>* when the panel is not expanded</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='comment'>* See https://github.com/mate-desktop/mate-panel/issues/797</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='comment'>* and https://github.com/mate-desktop/mate-panel/issues/799</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='comment'>* Out of process applets already use GTK_SIZE_REQUEST_CONSTANT_SIZE</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>return</span> GTK_SIZE_REQUEST_CONSTANT_SIZE;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line">mate_panel_applet_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_can_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;size_allocate (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>int</span> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> GtkBin *bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> child_allocation.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> child_allocation.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> child_allocation.width = <span class='macro'>MAX (allocation-&gt;width - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;width - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;width - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> child_allocation.height = <span class='macro'>MAX (allocation-&gt;height - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;height - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;height - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> allocation-&gt;x + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> allocation-&gt;y + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> child_allocation.width,</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> child_allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> GtkWidget *child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>if</span> (child)</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> gtk_widget_size_allocate (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='keyword'>if</span> ((priv-&gt;previous_height != allocation-&gt;height) ||</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> (priv-&gt;previous_width != allocation-&gt;width)) {</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> priv-&gt;previous_height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> priv-&gt;previous_width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"><span class='keyword'>static</span> gboolean mate_panel_applet_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> <span class='keyword'>int</span> border_width;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> gdouble x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;draw(widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget))</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> width = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> height = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> width -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> height -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_render_focus (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line">mate_panel_applet_focus (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> GtkWidget *previous_focus_child;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (widget), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (widget))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (widget)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;moving_focus_out) {</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='comment'>* Applet will retain focus if there is nothing else on the</span></td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='comment'>* panel to get focus</span></td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> previous_focus_child = gtk_container_get_focus_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='keyword'>if</span> (!previous_focus_child &amp;&amp; !gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> ret = <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;focus (widget, dir);</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> <span class='keyword'>if</span> (!ret &amp;&amp; !previous_focus_child) {</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> <span class='comment'>* Applet does not have a widget which can focus so set</span></td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>* the focus on the applet unless it already had focus</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* because it had a tooltip.</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line">mate_panel_applet_parse_color (<span class='keyword'>const</span> gchar *color_str,</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='macro'>g_assert (color_str &amp;&amp; color)<span class='macro_popup'>do { if (color_str &amp;&amp; color) ; else g_assertion_message_expr<br> (((gchar*) 0), "mate-panel-applet.c", 1285, ((const char*) (<br>__func__)), "color_str &amp;&amp; color"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='keyword'>return</span> gdk_rgba_parse (color, color_str);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line">mate_panel_applet_parse_pixmap_str (<span class='keyword'>const</span> <span class='keyword'>char</span> *str,</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> Window *xid,</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> *y)</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> <span class='keyword'>char</span> *tmp;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> <span class='macro'>g_return_val_if_fail (str != NULL, FALSE)<span class='macro_popup'>do { if ((str != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "str != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> <span class='macro'>g_return_val_if_fail (xid != NULL, FALSE)<span class='macro_popup'>do { if ((xid != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xid != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>g_return_val_if_fail (x != NULL, FALSE)<span class='macro_popup'>do { if ((x != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "x != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='macro'>g_return_val_if_fail (y != NULL, FALSE)<span class='macro_popup'>do { if ((y != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "y != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> elements = g_strsplit (str, <span class='string_literal'>","</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> <span class='keyword'>if</span> (!elements)</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> <span class='keyword'>if</span> (!elements [0] || !*elements [0] ||</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> !elements [1] || !*elements [1] ||</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> !elements [2] || !*elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> *xid = strtol (elements [0], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [0])</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> *x = strtol (elements [1], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [1])</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> *y = strtol (elements [2], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line">ERROR_AND_FREE:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"><span class='keyword'>static</span> cairo_surface_t *</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line">mate_panel_applet_create_foreign_surface_for_display (GdkDisplay *display,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> GdkVisual *visual,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> Window xid)</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>Status<span class='macro_popup'>int</span></span> result = 0;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> Window window;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> gint x, y;</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> guint width, height, border, depth;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> result = XGetGeometry (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>, xid, &amp;window,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> &amp;x, &amp;y, &amp;width, &amp;height, &amp;border, &amp;depth);</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>if</span> (result == 0)</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> <span class='keyword'>return</span> cairo_xlib_surface_create (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> xid, gdk_x11_visual_get_xvisual (visual),</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"><span class='keyword'>static</span> cairo_pattern_t *</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line">mate_panel_applet_get_pattern_from_pixmap (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> Window xid,</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> cairo_surface_t *background;</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> <span class='keyword'>int</span> width;</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>int</span> height;</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> background = mate_panel_applet_create_foreign_surface_for_display (display,</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> gdk_window_get_visual (window),</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> xid);</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='comment'>/* background can be NULL if the user changes the background very fast.</span></td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='comment'>* We'll get the next update, so it's not a big deal. */</span></td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>if</span> (!background || cairo_surface_status (background) != CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> <span class='keyword'>if</span> (background)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> width = gdk_window_get_width(window);</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> height = gdk_window_get_height(window);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> surface = gdk_window_create_similar_surface (window,</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> width,</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> height);</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> cr = cairo_create (surface);</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> cairo_set_source_surface (cr, background, -x, -y);</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>if</span> (cairo_status (cr) == CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> pattern = cairo_pattern_create_for_surface (surface);</td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> <span class='keyword'>return</span> pattern;</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"><span class='keyword'>static</span> MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line">mate_panel_applet_handle_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> MatePanelAppletBackgroundType retval;</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>) || !priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> elements = g_strsplit (priv-&gt;background, <span class='string_literal'>":"</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"none"</span> )) {</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='macro'>g_return_val_if_fail (color != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> <span class='keyword'>if</span> (!elements [1] || !mate_panel_applet_parse_color (elements [1], color)) {</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received"</span>, elements [0]);</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> retval = PANEL_COLOR_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"pixmap"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> Window pixmap_id;</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='macro'>g_return_val_if_fail (pattern != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((pattern != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "pattern != NULL"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_parse_pixmap_str (elements [1], &amp;pixmap_id, &amp;x, &amp;y)) {</td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> elements [0], elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> *pattern = mate_panel_applet_get_pattern_from_pixmap (applet, pixmap_id, x, y);</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> <span class='keyword'>if</span> (!*pattern) {</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> g_warning (<span class='string_literal'>"Failed to get pattern %s"</span>, elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> retval = PANEL_PIXMAP_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> g_warning(<span class='string_literal'>"Received pixmap background type, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> g_warning (<span class='string_literal'>"Unknown background type received"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line">MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line">mate_panel_applet_get_background (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> <span class='comment'>/* initial sanity */</span></td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> <span class='keyword'>if</span> (pattern != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> *pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> <span class='keyword'>if</span> (color != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> memset (color, 0, <span class='keyword'>sizeof</span> (GdkRGBA));</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_handle_background_string (applet, color, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line">mate_panel_applet_set_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> <span class='keyword'>const</span> gchar *background)</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background == background)</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;background, background) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> g_free (priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> priv-&gt;background = background ? <span class='macro'>g_strdup (background)<span class='macro_popup'>g_strdup_inline (background)</span></span> : <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line">mate_panel_applet_handle_background (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> MatePanelAppletBackgroundType type;</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> type = mate_panel_applet_get_background (applet, &amp;color, &amp;pattern);</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> <span class='keyword'>if</span> (!gdk_screen_is_composited (gdk_screen_get_default ())) {</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> 0, PANEL_NO_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> 0, PANEL_COLOR_BACKGROUND, &amp;color, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> 0, PANEL_PIXMAP_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> cairo_pattern_destroy (pattern);</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1562, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line">mate_panel_applet_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line">mate_panel_applet_move_focus_out_of_applet (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel)<span class='macro_popup'>do { if ((toplevel)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "toplevel"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> gtk_widget_child_focus (toplevel, dir);</td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line">mate_panel_applet_change_background(MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> MatePanelAppletBackgroundType type,</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> GdkRGBA* color,</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> cairo_pattern_t *pattern)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> gtk_widget_set_app_paintable (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> _mate_panel_applet_apply_css (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>,type);</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> cairo_pattern_t *transparent = cairo_pattern_create_rgba (0, 0, 0, 0); <span class='comment'>/* Using NULL here breaks transparent */</span></td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> gdk_window_set_background_pattern (window, transparent); <span class='comment'>/* backgrounds set by GTK theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> cairo_pattern_destroy (transparent);</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> gdk_window_set_background_rgba(window,color);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> gdk_window_set_background_pattern(window,pattern);</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1639, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_UP ||</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"horizontal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"vertical"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">mate_panel_applet_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_value_set_boolean (value, priv-&gt;out_of_process);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> g_value_set_string (value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> g_value_set_pointer (value, priv-&gt;closure);</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> g_value_set_object (value, priv-&gt;connection);</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line"> g_value_set_string (value, priv-&gt;prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line"> g_value_set_uint (value, priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> g_value_set_uint (value, priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> g_value_set_string (value, priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> g_value_set_uint (value, priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> GVariant *variant;</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> variant = g_variant_new_array (<span class="mrange"><span class="mrange"><span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span></span></span>,</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:56ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> g_value_set_pointer (value, variant);</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1717, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line">mate_panel_applet_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> priv-&gt;out_of_process = g_value_get_boolean (value);</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> priv-&gt;id = g_value_dup_string (value);</td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> priv-&gt;closure = g_value_get_pointer (value);</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> g_closure_set_marshal (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> mate_panel_applet_marshal_BOOLEAN__STRING);</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> priv-&gt;connection = g_value_dup_object (value);</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> mate_panel_applet_set_orient (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> mate_panel_applet_set_size (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> mate_panel_applet_set_background_string (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> mate_panel_applet_set_flags (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> size_hints = g_variant_get_fixed_array (g_value_get_pointer (value),</td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> mate_panel_applet_set_locked (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1779, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line">add_tab_bindings (GtkBindingSet *binding_set,</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> GdkModifierType modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> GtkDirectionType direction)</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_Tab<span class='macro_popup'>0xff09</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_KP_Tab<span class='macro_popup'>0xff89</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line">mate_panel_applet_setup (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> GValue value = {0, };</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> GArray *params;</td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> <span class='macro'>g_assert ((priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL))<span class='macro_popup'>do { if ((priv-&gt;id != ((void*)0)) &amp;&amp; (priv-&gt;closure<br> != ((void*)0))) ; else g_assertion_message_expr (((gchar*) 0<br>), "mate-panel-applet.c", 1807, ((const char*) (__func__)), "(priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> params = g_array_sized_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (GValue), 2);</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"> g_value_set_object (&amp;value, <span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> g_value_set_string (&amp;value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> g_closure_invoke (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> &amp;value, params-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> (GValue *) params-&gt;data,</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; params-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> g_value_unset (&amp;<span class='macro'>g_array_index (params, GValue, i)<span class='macro_popup'>(((GValue*) (void *) (params)-&gt;data) [(i)])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> g_array_free (params, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> ret = g_value_get_boolean (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> <span class='keyword'>if</span> (!ret) { <span class='comment'>/* FIXME */</span></td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> g_warning (<span class='string_literal'>"need to free the control here"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css(GtkWidget* widget, MatePanelAppletBackgroundType type)</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> GtkStyleContext* context;</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> gtk_style_context_remove_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1857, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> _mate_panel_applet_prepare_css (GtkStyleContext *context)</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gdk_display_get_default ())"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> <span class='string_literal'>"#PanelPlug {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='string_literal'>" background-repeat: no-repeat;\n"</span> <span class='comment'>/*disable in gtk theme features */</span></td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> <span class='string_literal'>" background-size: cover; "</span> <span class='comment'>/*that don't work on panel-toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> <span class='string_literal'>" }\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> <span class='string_literal'>".mate-custom-panel-background{\n"</span> <span class='comment'>/*prepare CSS for user set theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> <span class='string_literal'>" background-color: rgba (0, 0, 0, 0);\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='string_literal'>" background-image: none;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> <span class='string_literal'>"}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> gtk_style_context_add_provider (context,</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line">mate_panel_applet_init (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> priv-&gt;flags = MATE_PANEL_APPLET_FLAGS_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> priv-&gt;orient = MATE_PANEL_APPLET_ORIENT_UP;</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> priv-&gt;size = 24;</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line"> priv-&gt;panel_action_group = gtk_action_group_new (<span class='string_literal'>"PanelActions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> gtk_action_group_set_translation_domain (priv-&gt;panel_action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> gtk_action_group_add_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> menu_entries,</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_entries)<span class='macro_popup'>(sizeof (menu_entries) / sizeof ((menu_entries)[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> gtk_action_group_add_toggle_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> menu_toggle_entries,</td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_toggle_entries)<span class='macro_popup'>(sizeof (menu_toggle_entries) / sizeof ((menu_toggle_entries)<br>[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> priv-&gt;ui_manager = gtk_ui_manager_new ();</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> priv-&gt;panel_action_group, 1);</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> panel_menu_ui, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> gtk_widget_set_events (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"><span class='keyword'>static</span> GObject *</td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line">mate_panel_applet_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> priv-&gt;plug = gtk_plug_new (0);</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> gtk_widget_set_visual (widget,</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget)));</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"> gtk_widget_set_name (widget, <span class='string_literal'>"PanelPlug"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> _mate_panel_applet_prepare_css (context);</td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='macro'>g_signal_connect_swapped (priv-&gt;plug, <span class='string_literal'>"embedded"</span>,<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_setup),<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (priv-&gt;plug)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_container_get_type ()))))))</span></span>, <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line"> g_warning (<span class='string_literal'>"Requested construction of an out-of-process applet, which is only possible on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line">mate_panel_applet_constructed (GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> MatePanelApplet* applet = MATE_PANEL_APPLET(object);</td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> <span class='comment'>/* Rename the class to have compatibility with all GTK2 themes</span></td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>* https://github.com/perberos/Mate-Desktop-Environment/issues/27</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> gtk_widget_set_name(<span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> mate_panel_applet_register_object (applet);</td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line">mate_panel_applet_class_init (MatePanelAppletClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> gobject_class-&gt;get_property = mate_panel_applet_get_property;</td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> gobject_class-&gt;set_property = mate_panel_applet_set_property;</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> gobject_class-&gt;constructor = mate_panel_applet_constructor;</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> gobject_class-&gt;constructed = mate_panel_applet_constructed;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> klass-&gt;move_focus_out_of_applet = mate_panel_applet_move_focus_out_of_applet;</td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> klass-&gt;change_background = mate_panel_applet_change_background;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> widget_class-&gt;button_press_event = mate_panel_applet_button_press;</td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> widget_class-&gt;button_release_event = mate_panel_applet_button_release;</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> widget_class-&gt;get_request_mode = mate_panel_applet_get_request_mode;</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> widget_class-&gt;get_preferred_width = mate_panel_applet_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> widget_class-&gt;get_preferred_height = mate_panel_applet_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> widget_class-&gt;draw = mate_panel_applet_draw;</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> widget_class-&gt;size_allocate = mate_panel_applet_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> widget_class-&gt;focus = mate_panel_applet_focus;</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> widget_class-&gt;realize = mate_panel_applet_realize;</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> widget_class-&gt;key_press_event = mate_panel_applet_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> gobject_class-&gt;finalize = mate_panel_applet_finalize;</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> g_param_spec_string (<span class='string_literal'>"id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> <span class='string_literal'>"Id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> <span class='string_literal'>"The Applet identifier"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> <span class='string_literal'>"GClosure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> <span class='string_literal'>"The Applet closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> g_param_spec_object (<span class='string_literal'>"connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> <span class='string_literal'>"Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='string_literal'>"The DBus Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='macro'>G_TYPE_DBUS_CONNECTION<span class='macro_popup'>(g_dbus_connection_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> g_param_spec_string (<span class='string_literal'>"prefs-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='string_literal'>"PrefsPath"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> <span class='string_literal'>"GSettings Preferences Path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> <span class='string_literal'>"Orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"> <span class='string_literal'>"Panel Applet Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_FIRST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_UP</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_LAST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_RIGHT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> MATE_PANEL_APPLET_ORIENT_UP,</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='string_literal'>"Panel Applet Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> 0, <span class='macro'>G_MAXUINT<span class='macro_popup'>(2147483647 *2U +1U)</span></span>, 0,</td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> g_param_spec_string (<span class='string_literal'>"background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> <span class='string_literal'>"Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> <span class='string_literal'>"Panel Applet Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='string_literal'>"Panel Applet flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_FLAGS_ALL<span class='macro_popup'>(MATE_PANEL_APPLET_EXPAND_MAJOR|MATE_PANEL_APPLET_EXPAND_MINOR<br>|MATE_PANEL_APPLET_HAS_HANDLE)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> <span class='comment'>/* FIXME: value_array? */</span></td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"size-hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> <span class='string_literal'>"Panel Applet Size Hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='string_literal'>"Locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> PROP_LOCKED_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked-down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> <span class='string_literal'>"LockedDown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT] =</td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> g_signal_new (<span class='string_literal'>"change-orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_orient)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_orient<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__UINT<span class='macro_popup'>g_cclosure_marshal_VOID__UINT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE] =</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_signal_new (<span class='string_literal'>"change-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_size)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_size<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__INT<span class='macro_popup'>g_cclosure_marshal_VOID__INT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line"> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND] =</td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line"> g_signal_new (<span class='string_literal'>"change-background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_background)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_background<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> mate_panel_applet_marshal_VOID__ENUM_BOXED_OBJECT,</td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> 3,</td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='macro'>PANEL_TYPE_MATE_PANEL_APPLET_BACKGROUND_TYPE<span class='macro_popup'>mate_panel_applet_background_type_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> <span class='macro'>GDK_TYPE_RGBA<span class='macro_popup'>(gdk_rgba_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='macro'>CAIRO_GOBJECT_TYPE_PATTERN<span class='macro_popup'>cairo_gobject_pattern_get_type ()</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> mate_panel_applet_signals [MOVE_FOCUS_OUT_OF_APPLET] =</td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> g_signal_new (<span class='string_literal'>"move_focus_out_of_applet"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, move_focus_out_of_applet)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, move_focus_out_of_applet<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__ENUM<span class='macro_popup'>g_cclosure_marshal_VOID__ENUM</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> binding_set = gtk_binding_set_by_class (gobject_class);</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> add_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line">GtkWidget* mate_panel_applet_new(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> MatePanelApplet* applet = g_object_new(<span class='macro'>PANEL_TYPE_APPLET<span class='macro_popup'>mate_panel_applet_get_type ()</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"><span class='keyword'>static</span> GdkEvent *</td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line">button_press_event_new (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> guint button,</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> guint time)</td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> GdkEvent *event;</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> device = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> event = gdk_event_new (GDK_BUTTON_PRESS);</td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> event-&gt;button.time = time;</td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> event-&gt;button.button = button;</td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> gdk_event_set_device (event, device);</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> <span class='keyword'>return</span> event;</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line">method_call_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> <span class='keyword'>const</span> gchar *method_name,</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> GVariant *parameters,</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> GDBusMethodInvocation *invocation,</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (method_name, <span class='string_literal'>"PopupMenu"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> guint button;</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> guint time;</td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> g_variant_get (parameters, <span class='string_literal'>"(uu)"</span>, &amp;button, &amp;time);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> GdkEvent *event = button_press_event_new (applet, button, time);</td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> mate_panel_applet_menu_popup (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> gdk_event_free (event);</td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> g_dbus_method_invocation_return_value (invocation, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line">get_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> GVariant *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (user_data));</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> retval = g_variant_new_string (priv-&gt;prefs_path ? priv-&gt;prefs_path : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> retval = g_variant_new_string (priv-&gt;background ? priv-&gt;background : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> retval = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line">set_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line"> GVariant *value,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> mate_panel_applet_set_orient (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> mate_panel_applet_set_size (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> mate_panel_applet_set_background_string (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> mate_panel_applet_set_flags (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> size_hints = g_variant_get_fixed_array (value, &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> mate_panel_applet_set_locked (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar introspection_xml[] =</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> <span class='string_literal'>"&lt;node&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='string_literal'>"&lt;interface name='org.mate.panel.applet.Applet'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line"> <span class='string_literal'>"&lt;method name='PopupMenu'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> <span class='string_literal'>"&lt;arg name='button' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"> <span class='string_literal'>"&lt;arg name='time' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line"> <span class='string_literal'>"&lt;/method&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='string_literal'>"&lt;property name='PrefsPath' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='string_literal'>"&lt;property name='Orient' type='u' access='readwrite' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='string_literal'>"&lt;property name='Size' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line"> <span class='string_literal'>"&lt;property name='Background' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='string_literal'>"&lt;property name='Flags' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> <span class='string_literal'>"&lt;property name='SizeHints' type='ai' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> <span class='string_literal'>"&lt;property name='Locked' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> <span class='string_literal'>"&lt;property name='LockedDown' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='string_literal'>"&lt;signal name='Move' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='string_literal'>"&lt;signal name='RemoveFromPanel' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='string_literal'>"&lt;signal name='Lock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> <span class='string_literal'>"&lt;signal name='Unlock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='string_literal'>"&lt;/interface&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> <span class='string_literal'>"&lt;/node&gt;"</span>;</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GDBusInterfaceVTable interface_vtable = {</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> method_call_cb,</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> get_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> set_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> { 0 }</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"><span class='keyword'>static</span> GDBusNodeInfo *introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line">mate_panel_applet_register_object (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>static</span> gint id = 0;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> <span class='keyword'>if</span> (!introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> priv-&gt;object_path = g_strdup_printf (<span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span>, priv-&gt;id, id++);</td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> priv-&gt;object_id =</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> g_dbus_connection_register_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> introspection_data-&gt;interfaces[0],</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> &amp;interface_vtable,</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;object_id) {</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to register object %s: %s\n"</span>, priv-&gt;object_path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_factory_main_finalized(gpointer data, GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> gtk_main_quit();</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> <span class='keyword'>if</span> (introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> g_dbus_node_info_unref(introspection_data);</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> (*_x_error_func) (Display *, XErrorEvent *);</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line">_x_error_handler (Display *display, XErrorEvent *error)</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (!error-&gt;error_code)</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='comment'>/* If we got a BadDrawable or a BadWindow, we ignore it for now.</span></td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> <span class='comment'>* FIXME: We need to somehow distinguish real errors from</span></td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> <span class='comment'>* X-server-induced errors. Keeping a list of windows for which we</span></td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> <span class='comment'>* will ignore BadDrawables would be a good idea. */</span></td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> <span class='keyword'>if</span> (error-&gt;error_code == <span class='macro'>BadDrawable<span class='macro_popup'>9</span></span> ||</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> error-&gt;error_code == <span class='macro'>BadWindow<span class='macro_popup'>3</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> <span class='keyword'>return</span> _x_error_func (display, error);</td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> <span class='comment'>* To do graphical embedding in the X window system, MATE Panel</span></td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> <span class='comment'>* uses the classic foreign-window-reparenting trick. The</span></td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='comment'>* GtkPlug/GtkSocket widgets are used for this purpose. However,</span></td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line"> <span class='comment'>* serious robustness problems arise if the GtkSocket end of the</span></td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> <span class='comment'>* connection unexpectedly dies. The X server sends out DestroyNotify</span></td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"> <span class='comment'>* events for the descendants of the GtkPlug (i.e., your embedded</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line"> <span class='comment'>* component's windows) in effectively random order. Furthermore, if</span></td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> <span class='comment'>* you happened to be drawing on any of those windows when the</span></td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line"> <span class='comment'>* GtkSocket was destroyed (a common state of affairs), an X error</span></td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> <span class='comment'>* will kill your application.</span></td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> <span class='comment'>* To solve this latter problem, MATE Panel sets up its own X error</span></td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> <span class='comment'>* handler which ignores certain X errors that might have been</span></td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> <span class='comment'>* caused by such a scenario. Other X errors get passed to gdk_x_error</span></td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='comment'>* normally.</span></td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line">_mate_panel_applet_setup_x_error_handler (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>static</span> gboolean error_handler_setup = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> <span class='keyword'>if</span> (error_handler_setup)</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> error_handler_setup = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> _x_error_func = XSetErrorHandler (_x_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line">_mate_panel_applet_factory_main_internal (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> gboolean out_process,</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> MatePanelAppletFactory* factory;</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> GClosure* closure;</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='macro'>g_return_val_if_fail(factory_id != NULL, 1)<span class='macro_popup'>do { if ((factory_id != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "factory_id != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> <span class='macro'>g_return_val_if_fail(callback != NULL, 1)<span class='macro_popup'>do { if ((callback != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "callback != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> <span class='macro'>g_assert(g_type_is_a(applet_type, PANEL_TYPE_APPLET))<span class='macro_popup'>do { if (((applet_type) == (mate_panel_applet_get_type ()) ||<br> (g_type_is_a) ((applet_type), (mate_panel_applet_get_type ()<br>)))) ; else g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 2425, ((const char*) (__func__)), "g_type_is_a(applet_type, PANEL_TYPE_APPLET)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='comment'>/*Use this both in and out of process as the tray applet always uses GtkSocket</span></td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> <span class='comment'>*to handle GtkStatusIcons whether the tray itself is built in or out of process</span></td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> _mate_panel_applet_setup_x_error_handler();</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>if</span> (out_process) {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> g_warning(<span class='string_literal'>"Requested out-of-process applet, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> closure = g_cclosure_new(<span class='macro'>G_CALLBACK(callback)<span class='macro_popup'>((GCallback) (callback))</span></span>, user_data, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> factory = mate_panel_applet_factory_new(factory_id, out_process, applet_type, closure);</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> g_closure_unref(closure);</td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_factory_register_service(factory))</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> <span class='keyword'>if</span> (out_process)</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> g_object_weak_ref(<span class='macro'>G_OBJECT(factory)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((factory)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, mate_panel_applet_factory_main_finalized, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> gtk_main();</td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> g_object_unref (factory);</td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_main:</span></td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> <span class='comment'>* @out_process: boolean, dummy to support applets sending it</span></td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line">mate_panel_applet_factory_main (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> gboolean out_process, <span class='comment'>/*Dummy to support applets w issues with this */</span></td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_setup_in_process: (skip)</span></td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line">mate_panel_applet_factory_setup_in_process (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> <span class='comment'>* mate_panel_applet_set_background_widget:</span></td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> <span class='comment'>* @applet: a #PanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> <span class='comment'>* @widget: a #GtkWidget.</span></td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> <span class='comment'>* Configure #PanelApplet to automatically draw the background of the applet on</span></td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> <span class='comment'>* @widget. It is generally enough to call this function with @applet as</span></td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"> <span class='comment'>* @widget.</span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='comment'>* Deprecated: 3.20: Do not use this API. Since 3.20 this function does nothing.</span></td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line">mate_panel_applet_set_background_widget (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line">guint32</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line">mate_panel_applet_get_xid (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> <span class='comment'>/* out_of_process should only be true on X11, so an extra runtime Wayland check is not needed */</span></td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process == <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (priv-&gt;plug)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> gtk_widget_show (priv-&gt;plug);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> <span class='keyword'>return</span> gtk_plug_get_id (<span class='macro'>GTK_PLUG (priv-&gt;plug)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"><span class='keyword'>const</span> gchar *</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">mate_panel_applet_get_object_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> <span class='keyword'>return</span> priv-&gt;object_path;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"><span class='macro'>G_MODULE_EXPORT<span class='macro_popup'>__attribute__((visibility("default")))</span></span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line">mate_panel_applet_get_applet_widget (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> guint uid)</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> widget = mate_panel_applet_factory_get_applet_widget (factory_id, uid);</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>if</span> (!widget) {</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> mate_panel_applet_setup (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>return</span> widget;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-a82458.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-a82458.html
new file mode 100644
index 00000000..17ce9c06
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-a82458.html
@@ -0,0 +1,967 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-launch.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC This statement is never executed -->
+
+<!-- BUGTYPE Unreachable code -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/libpanel-util/panel-launch.c -->
+
+<!-- FILENAME panel-launch.c -->
+
+<!-- FUNCTIONNAME panel_launch_desktop_file_with_fallback -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT a824586a145e7bfdfd78e1d20f1c5d5e -->
+
+<!-- BUGLINE 285 -->
+
+<!-- BUGCOLUMN 9 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/libpanel-util/panel-launch.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 285, column 9</a><br />This statement is never executed</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-launch.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel/libpanel-util -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../.. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../../mate-panel/libpanel-util -D DATADIR="/usr/local/share" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel/libpanel-util -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-launch.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"285": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-launch.c: some helpers to launch desktop files</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2008 Novell, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Vincent Untz &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;gio/gdesktopappinfo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include "panel-error.h"</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include "panel-glib.h"</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include "panel-launch.h"</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line">_panel_launch_error_dialog (<span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> <span class='keyword'>const</span> gchar *message)</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='keyword'>char</span> *primary;</td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> <span class='keyword'>if</span> (name)</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> primary = g_markup_printf_escaped (<span class='macro'>_(<span class='string_literal'>"Could not launch '%s'"</span>)<span class='macro_popup'>gettext ("Could not launch '%s'")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> name);</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> primary = <span class='macro'>g_strdup (_(<span class='string_literal'>"Could not launch application"</span>))<span class='macro_popup'>g_strdup_inline (gettext ("Could not launch application"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> panel_error_dialog (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, screen, <span class='string_literal'>"cannot_launch"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> primary, message);</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> g_free (primary);</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line">_panel_launch_handle_error (<span class='keyword'>const</span> gchar *name,</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> GError *local_error,</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> <span class='keyword'>if</span> (g_error_matches (local_error,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='macro'>G_IO_ERROR<span class='macro_popup'>g_io_error_quark()</span></span>, G_IO_ERROR_CANCELLED)) {</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> g_error_free (local_error);</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (error != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> g_propagate_error (error, local_error);</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> _panel_launch_error_dialog (name, screen, local_error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> g_error_free (local_error);</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line">dummy_child_watch (GPid pid,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> gint status,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='comment'>/* Nothing, this is just to ensure we don't double fork</span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='comment'>* and break pkexec:</span></td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> <span class='comment'>* https://bugzilla.gnome.org/show_bug.cgi?id=675789</span></td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line">gather_pid_callback (GDesktopAppInfo *gapp,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> GPid pid,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> g_child_watch_add (pid, dummy_child_watch, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line">panel_app_info_launch_uris (GDesktopAppInfo *appinfo,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GList *uris,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='keyword'>const</span> gchar *action,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> guint32 timestamp,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> GdkAppLaunchContext *context;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> GError *local_error;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='macro'>g_return_val_if_fail (G_IS_DESKTOP_APP_INFO (appinfo), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((appinfo)); GType __t = ((g_desktop_app_info_get_type ())<br>); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "G_IS_DESKTOP_APP_INFO (appinfo)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> GdkDisplay *display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> context = gdk_display_get_app_launch_context (display);</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> gdk_app_launch_context_set_screen (context, screen);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> gdk_app_launch_context_set_timestamp (context, timestamp);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> local_error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> (action == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> retval = g_desktop_app_info_launch_uris_as_manager (appinfo, uris,</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='macro'>G_APP_LAUNCH_CONTEXT (context)<span class='macro_popup'>((((GAppLaunchContext*) (void *) g_type_check_instance_cast (<br>(GTypeInstance*) ((context)), ((g_app_launch_context_get_type<br> ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, gather_pid_callback, appinfo,</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> &amp;local_error);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> g_desktop_app_info_launch_action (appinfo, action, <span class='macro'>G_APP_LAUNCH_CONTEXT (context)<span class='macro_popup'>((((GAppLaunchContext*) (void *) g_type_check_instance_cast (<br>(GTypeInstance*) ((context)), ((g_app_launch_context_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> g_object_unref (context);</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='keyword'>if</span> ((local_error == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) &amp;&amp; (retval == <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>return</span> _panel_launch_handle_error (g_app_info_get_name (<span class='macro'>G_APP_INFO(appinfo)<span class='macro_popup'>((((GAppInfo*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((appinfo)), ((g_app_info_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> screen, local_error, error);</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line">panel_app_info_launch_uri (GDesktopAppInfo *appinfo,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>const</span> gchar *uri,</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> guint32 timestamp,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> GList *uris;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>g_return_val_if_fail (G_IS_APP_INFO (appinfo), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((appinfo)); GType __t = ((g_app_info_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "G_IS_APP_INFO (appinfo)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> uris = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> <span class='keyword'>if</span> (uri)</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> uris = g_list_prepend (uris, (gpointer) uri);</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> retval = panel_app_info_launch_uris (appinfo, uris,</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> screen, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, timestamp, error);</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> g_list_free (uris);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line">panel_launch_key_file (GKeyFile *keyfile,</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> GList *uri_list,</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>const</span> gchar *action,</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> GDesktopAppInfo *appinfo;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='macro'>g_return_val_if_fail (keyfile != NULL, FALSE)<span class='macro_popup'>do { if ((keyfile != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "keyfile != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> appinfo = g_desktop_app_info_new_from_keyfile (keyfile);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> <span class='keyword'>if</span> (appinfo == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> retval = panel_app_info_launch_uris (appinfo,</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> uri_list, screen, action,</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> gtk_get_current_event_time (),</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> error);</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> g_object_unref (appinfo);</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">panel_launch_desktop_file (<span class='keyword'>const</span> <span class='keyword'>char</span> *desktop_file,</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> GDesktopAppInfo *appinfo;</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='macro'>g_return_val_if_fail (desktop_file != NULL, FALSE)<span class='macro_popup'>do { if ((desktop_file != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "desktop_file != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> appinfo = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='keyword'>if</span> (g_path_is_absolute (desktop_file))</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> appinfo = g_desktop_app_info_new_from_filename (desktop_file);</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> <span class='keyword'>char</span> *full;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> full = panel_g_lookup_in_applications_dirs (desktop_file);</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> <span class='keyword'>if</span> (full) {</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> appinfo = g_desktop_app_info_new_from_filename (full);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> g_free (full);</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> <span class='keyword'>if</span> (appinfo == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> retval = panel_app_info_launch_uris (appinfo, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, screen, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> gtk_get_current_event_time (),</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> error);</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> g_object_unref (appinfo);</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> <span class='comment'>* Set the DISPLAY variable, to be use by g_spawn_async.</span></td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line">set_environment (gpointer display)</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line">panel_launch_desktop_file_with_fallback (<span class='keyword'>const</span> <span class='keyword'>char</span> *desktop_file,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *fallback_exec,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> GError **error)</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> <span class='keyword'>char</span> *argv[2] = { (<span class='keyword'>char</span> *) fallback_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> };</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> GError *local_error;</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> GPid pid;</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> <span class='keyword'>char</span> *display_name;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='macro'>g_return_val_if_fail (desktop_file != NULL, FALSE)<span class='macro_popup'>do { if ((desktop_file != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "desktop_file != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='macro'>g_return_val_if_fail (fallback_exec != NULL, FALSE)<span class='macro_popup'>do { if ((fallback_exec != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "fallback_exec != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_SCREEN (screen)"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='macro'>g_return_val_if_fail (error == NULL || *error == NULL, FALSE)<span class='macro_popup'>do { if ((error == ((void*)0) || *error == ((void*)0))) { } else<br> { g_return_if_fail_warning (((gchar*) 0), ((const char*) (__func__<br>)), "error == NULL || *error == NULL"); return ((0)); } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='comment'>/* need to pass a non-NULL error to avoid getting a dialog */</span></td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> local_error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='keyword'>if</span> (panel_launch_desktop_file (desktop_file, screen, &amp;local_error))</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='keyword'>if</span> (local_error) {</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> g_error_free (local_error);</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> local_error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> display_name = <span class='macro'>g_strdup (gdk_display_get_name (display))<span class='macro_popup'>g_strdup_inline (gdk_display_get_name (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> retval = g_spawn_async (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* working directory */</span></td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* envp */</span></td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> set_environment,</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> &amp;display_name,</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> &amp;pid,</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> &amp;local_error);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> g_free (display_name);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> <span class='keyword'>if</span> (local_error == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp; retval == <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> g_child_watch_add (pid, dummy_child_watch, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> <span class="mrange">_panel_launch_handle_error</span> (fallback_exec,</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:16ex">This statement is never executed</div></td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> screen, local_error, error);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-b083bc.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-b083bc.html
new file mode 100644
index 00000000..f8b615c5
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-b083bc.html
@@ -0,0 +1,3246 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet.c -->
+
+<!-- FILENAME mate-panel-applet.c -->
+
+<!-- FUNCTIONNAME mate_panel_applet_setup -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT b083bc4d1e823918dcebf02f802ff9fc -->
+
+<!-- BUGLINE 1825 -->
+
+<!-- BUGCOLUMN 20 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 1825, column 20</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"1825": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet.c: panel applet writing library.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (c) 2010 Carlos Garcia Campos &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2001 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;cairo-xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;gtk/gtkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;X11/Xatom.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-plug-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-applet-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "mate-panel-applet-factory.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "mate-panel-applet-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "mate-panel-applet-enums.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget *plug;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> GDBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gboolean out_of_process;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> GClosure *closure;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint object_id;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>char</span> *prefs_path;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> GtkUIManager *ui_manager;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkActionGroup *applet_action_group;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> GtkActionGroup *panel_action_group;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint size;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>char</span> *background;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>int</span> previous_width;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>int</span> previous_height;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='keyword'>int</span> size_hints_len;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gboolean moving_focus_out;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> gboolean locked_down;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} MatePanelAppletPrivate;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> CHANGE_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> CHANGE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> CHANGE_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> MOVE_FOCUS_OUT_OF_APPLET,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"><span class='keyword'>static</span> guint mate_panel_applet_signals[LAST_SIGNAL] = { 0 };</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> PROP_LOCKED_DOWN</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_handle_background (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> GtkAction *mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>const</span> gchar *action);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_update_actions (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_register_object (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css (GtkWidget* widget, MatePanelAppletBackgroundType type);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar panel_menu_ui[] =</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='string_literal'>"&lt;ui&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>" &lt;popup name=\"MatePanelAppletPopup\" action=\"PopupAction\"&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='string_literal'>" &lt;placeholder name=\"AppletItems\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"RemoveItem\" action=\"Remove\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"MoveItem\" action=\"Move\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"LockItem\" action=\"Lock\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='string_literal'>" &lt;/popup&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='string_literal'>"&lt;/ui&gt;\n"</span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry menu_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> { <span class='string_literal'>"Remove"</span>, <span class='string_literal'>"list-remove"</span>, <span class='macro'>N_(<span class='string_literal'>"_Remove From Panel"</span>)<span class='macro_popup'>("_Remove From Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_remove)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_remove))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> { <span class='string_literal'>"Move"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"_Move"</span>)<span class='macro_popup'>("_Move")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_move)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_move))</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkToggleActionEntry menu_toggle_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> { <span class='string_literal'>"Lock"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"Loc_k To Panel"</span>)<span class='macro_popup'>("Loc_k To Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_lock)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_lock))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (MatePanelApplet, mate_panel_applet, GTK_TYPE_EVENT_BOX)<span class='macro_popup'>static void mate_panel_applet_init (MatePanelApplet *self); static<br> void mate_panel_applet_class_init (MatePanelAppletClass *klass<br>); static GType mate_panel_applet_get_type_once (void); static<br> gpointer mate_panel_applet_parent_class = ((void*)0); static<br> gint MatePanelApplet_private_offset; static void mate_panel_applet_class_intern_init<br> (gpointer klass) { mate_panel_applet_parent_class = g_type_class_peek_parent<br> (klass); if (MatePanelApplet_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;MatePanelApplet_private_offset); mate_panel_applet_class_init<br> ((MatePanelAppletClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer mate_panel_applet_get_instance_private<br> (MatePanelApplet *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (MatePanelApplet_private_offset)))); } GType mate_panel_applet_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = mate_panel_applet_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType mate_panel_applet_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_event_box_get_type ()), g_intern_static_string ("MatePanelApplet"<br>), sizeof (MatePanelAppletClass), (GClassInitFunc)(void (*)(void<br>)) mate_panel_applet_class_intern_init, sizeof (MatePanelApplet<br>), (GInstanceInitFunc)(void (*)(void)) mate_panel_applet_init<br>, (GTypeFlags) 0); { {{ MatePanelApplet_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (MatePanelAppletPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span> "org.mate.panel.applet.Applet"</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span> "/org/mate/panel/applet/%s/%d"</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">mate_panel_applet_get_preferences_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (priv-&gt;prefs_path)<span class='macro_popup'>g_strdup_inline (priv-&gt;prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">mate_panel_applet_set_preferences_path (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;prefs_path == prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;prefs_path, prefs_path) == 0)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>if</span> (prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> priv-&gt;prefs_path = <span class='macro'>g_strdup (prefs_path)<span class='macro_popup'>g_strdup_inline (prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"prefs-path"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">MatePanelAppletFlags</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line">mate_panel_applet_get_flags (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), MATE_PANEL_APPLET_FLAGS_NONE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (MATE_PANEL_APPLET_FLAGS_NONE); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>return</span> priv-&gt;flags;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">mate_panel_applet_set_flags (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> MatePanelAppletFlags flags)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;flags == flags)</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> priv-&gt;flags = flags;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"flags"</span>);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> g_variant_new_uint32 (priv-&gt;flags));</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::Flags: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line">mate_panel_applet_size_hints_ensure (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> new_size)</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints &amp;&amp; priv-&gt;size_hints_len &lt; new_size) {</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> g_free (priv-&gt;size_hints);</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!priv-&gt;size_hints) {</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> priv-&gt;size_hints_len = new_size;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line">mate_panel_applet_size_hints_changed (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;size_hints)</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints_len != n_elements)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++) {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>if</span> (size_hints[i] + base_size != priv-&gt;size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='comment'>* mate_panel_applet_set_size_hints:</span></td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='comment'>* @applet: applet</span></td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='comment'>* @size_hints: (array length=n_elements): List of integers</span></td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='comment'>* @n_elements: Length of @size_hints</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='comment'>* @base_size: base_size</span></td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line">mate_panel_applet_set_size_hints (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='comment'>/* Make sure property has really changed to avoid bus traffic */</span></td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_size_hints_changed (applet, size_hints, n_elements, base_size))</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> mate_panel_applet_size_hints_ensure (applet, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> priv-&gt;size_hints[i] = size_hints[i] + base_size;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size-hints"</span>);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> children, priv-&gt;size_hints_len));</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::SizeHints: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line">guint</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line">mate_panel_applet_get_size (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>return</span> priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"><span class='comment'>/* Applets cannot set their size, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line">mate_panel_applet_set_size (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> guint size)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE],</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> 0, size);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line">MatePanelAppletOrient</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">mate_panel_applet_get_orient (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span> priv-&gt;orient;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"><span class='comment'>/* Applets cannot set their orientation, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">mate_panel_applet_set_orient (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> MatePanelAppletOrient orient)</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == orient)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> priv-&gt;orient = orient;</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT],</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> 0, orient);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orient"</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line">mate_panel_applet_set_locked (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> gboolean locked)</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> GtkAction *action;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked == locked)</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> priv-&gt;locked = locked;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> action = mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>);</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='macro'>g_signal_handlers_block_by_func (action,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> gtk_toggle_action_set_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>, locked);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='macro'>g_signal_handlers_unblock_by_func (action,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked"</span>);</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal %s: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line">mate_panel_applet_get_locked_down (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> priv-&gt;locked_down;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"><span class='comment'>/* Applets cannot set the lockdown state, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line">mate_panel_applet_set_locked_down (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> gboolean locked_down)</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked_down == locked_down)</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> priv-&gt;locked_down = locked_down;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked-down"</span>);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type_dock = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"><span class='keyword'>static</span> Atom _net_active_window = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line">mate_panel_applet_init_atoms (Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> _net_wm_window_type = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE"</span>,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type_dock == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> _net_wm_window_type_dock = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE_DOCK"</span>,</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (_net_active_window == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> _net_active_window = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='string_literal'>"_NET_ACTIVE_WINDOW"</span>,</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='keyword'>static</span> Window</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line">mate_panel_applet_find_toplevel_dock_window (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> Window xwin;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> Window root, parent, *child;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>int</span> num_children;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> xwin = <span class='macro'>GDK_WINDOW_XID (gtk_widget_get_window (toplevel))<span class='macro_popup'>(gdk_x11_window_get_xid (gtk_widget_get_window (toplevel)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> child = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> parent = root = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> Atom type_return;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> Atom window_type;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='keyword'>int</span> format_return;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> gulong number_return, bytes_after_return;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> guchar *data_return;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> XGetWindowProperty (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> _net_wm_window_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> 0, 1, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> &amp;type_return, &amp;format_return,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> &amp;number_return,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> &amp;bytes_after_return,</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> &amp;data_return);</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='keyword'>if</span> (type_return == <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> window_type = *(Atom *) data_return;</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> XFree (data_return);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> data_return = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='keyword'>if</span> (window_type == _net_wm_window_type_dock)</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='keyword'>return</span> xwin;</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> <span class='keyword'>if</span> (!XQueryTree (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> &amp;root, &amp;parent, &amp;child,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> (guint *) &amp;num_children)) {</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; num_children &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> XFree (child);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> xwin = parent;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> } <span class='keyword'>while</span> (xwin != <span class='macro'>None<span class='macro_popup'>0L</span></span> &amp;&amp; xwin != root);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"><span class='comment'>/* This function</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> <span class='comment'>* 1) Gets the window id of the panel that contains the applet</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='comment'>* using XQueryTree and XGetWindowProperty to find an ancestor</span></td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='comment'>* window with the _NET_WM_WINDOW_TYPE_DOCK window type.</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='comment'>* 2) Sends a _NET_ACTIVE_WINDOW message to get that panel focused</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">mate_panel_applet_request_focus (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> guint32 timestamp)</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> GdkWindow *root;</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> Window dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> Window xroot;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> XEvent xev;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> screen = gdk_screen_get_default(); <span class='comment'>/*There is only one screen since GTK 3.22*/</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> root = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> xdisplay = <span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> xroot = <span class='macro'>GDK_WINDOW_XID (root)<span class='macro_popup'>(gdk_x11_window_get_xid (root))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> mate_panel_applet_init_atoms (xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> dock_xwindow = mate_panel_applet_find_toplevel_dock_window (applet, xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>if</span> (dock_xwindow == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> xev.xclient.type = <span class='macro'>ClientMessage<span class='macro_popup'>33</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> xev.xclient.serial = 0;</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> xev.xclient.send_event = <span class='macro'>True<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> xev.xclient.window = dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xev.xclient.message_type = _net_active_window;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> xev.xclient.format = 32;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> xev.xclient.data.l[0] = 1; <span class='comment'>/* requestor type; we're an app, I guess */</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> xev.xclient.data.l[1] = timestamp;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> xev.xclient.data.l[2] = <span class='macro'>None<span class='macro_popup'>0L</span></span>; <span class='comment'>/* "currently active window", supposedly */</span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> xev.xclient.data.l[3] = 0;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> xev.xclient.data.l[4] = 0;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> XSendEvent (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> xroot, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='macro'>SubstructureRedirectMask<span class='macro_popup'>(1L&lt;&lt;20)</span></span> | <span class='macro'>SubstructureNotifyMask<span class='macro_popup'>(1L&lt;&lt;19)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> &amp;xev);</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"><span class='keyword'>static</span> GtkAction *</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line">mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>const</span> gchar *action)</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span> gtk_action_group_get_action (priv-&gt;panel_action_group, action);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line">mate_panel_applet_menu_update_actions (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>),</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Move"</span>),</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Remove"</span>),</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='string_literal'>"RemoveFromPanel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='string_literal'>"Move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line">mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> locked = gtk_toggle_action_get_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> mate_panel_applet_set_locked (applet, locked);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line">mate_panel_applet_setup_menu (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>const</span> gchar *xml,</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> gchar *new_xml;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> <span class='macro'>g_return_if_fail (xml != NULL)<span class='macro_popup'>do { if ((xml != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xml != NULL"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> priv-&gt;applet_action_group = <span class='macro'>g_object_ref (applet_action_group)<span class='macro_popup'>((__typeof__ (applet_action_group)) (g_object_ref) (applet_action_group<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> applet_action_group, 0);</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> new_xml = g_strdup_printf (<span class='string_literal'>"&lt;ui&gt;&lt;popup name=\"MatePanelAppletPopup\" action=\"AppletItems\"&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='string_literal'>"&lt;placeholder name=\"AppletItems\"&gt;%s\n&lt;/placeholder&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='string_literal'>"&lt;/popup&gt;&lt;/ui&gt;\n"</span>, xml);</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager, new_xml, -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> g_free (new_xml);</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> gtk_ui_manager_ensure_update (priv-&gt;ui_manager);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> g_warning (<span class='string_literal'>"Error merging menus: %s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line">mate_panel_applet_setup_menu_from_file (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>const</span> gchar *filename,</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> gchar *xml = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='keyword'>if</span> (g_file_get_contents (filename, &amp;xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> mate_panel_applet_setup_menu (applet, xml, applet_action_group);</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> g_free (xml);</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* mate_panel_applet_setup_menu_from_resource:</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>* @applet: a #MatePanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='comment'>* @resource_path: a resource path</span></td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='comment'>* @action_group: a #GtkActionGroup.</span></td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='comment'>* Sets up the context menu of @applet. @filename is a resource path to a menu</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='comment'>* XML file, containing a #GtkUIManager UI definition that describes how to</span></td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='comment'>* display the menu items. @action_group contains the various #GtkAction that</span></td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='comment'>* are referenced in @xml.</span></td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='comment'>* See also the &lt;link linkend="getting-started.context-menu"&gt;Context</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='comment'>* Menu&lt;/link&gt; section.</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='comment'>* Since: 1.20.1</span></td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line">mate_panel_applet_setup_menu_from_resource (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>const</span> gchar *resource_path,</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> GtkActionGroup *action_group)</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> GBytes *bytes;</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> bytes = g_resources_lookup_data (resource_path,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> G_RESOURCE_LOOKUP_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> <span class='keyword'>if</span> (bytes) {</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> mate_panel_applet_setup_menu (applet,</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> g_bytes_get_data (bytes, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> g_bytes_unref (bytes);</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">mate_panel_applet_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;object_id)</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_dbus_connection_unregister_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> priv-&gt;object_id);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> priv-&gt;object_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;connection)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;connection)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;connection))) _pp = ((&amp;priv-&gt;connection)<br>); __typeof__ (*((&amp;priv-&gt;connection))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;object_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;object_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;object_path)) _pp = (&amp;priv-&gt;object_path); __typeof__<br> (*(&amp;priv-&gt;object_path)) _ptr = *_pp; *_pp = ((void*)0<br>); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> mate_panel_applet_set_preferences_path (applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;applet_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;applet_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;applet_action_group))) _pp = ((&amp;priv-&gt;<br>applet_action_group)); __typeof__ (*((&amp;priv-&gt;applet_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;panel_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;panel_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;panel_action_group))) _pp = ((&amp;priv-&gt;<br>panel_action_group)); __typeof__ (*((&amp;priv-&gt;panel_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;ui_manager)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;ui_manager)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;ui_manager))) _pp = ((&amp;priv-&gt;ui_manager)<br>); __typeof__ (*((&amp;priv-&gt;ui_manager))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;size_hints, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;size_hints) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;size_hints)) _pp = (&amp;priv-&gt;size_hints); __typeof__<br> (*(&amp;priv-&gt;size_hints)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;prefs_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;prefs_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;prefs_path)) _pp = (&amp;priv-&gt;prefs_path); __typeof__<br> (*(&amp;priv-&gt;prefs_path)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;background, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;background) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;background)) _pp = (&amp;priv-&gt;background); __typeof__<br> (*(&amp;priv-&gt;background)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;id, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;id) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;priv-&gt;<br>id)) _pp = (&amp;priv-&gt;id); __typeof__ (*(&amp;priv-&gt;id<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> <span class='comment'>/* closure is owned by the factory */</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> priv-&gt;closure = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line">container_has_focusable_child (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GList *t;</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> list = gtk_container_get_children (container);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='keyword'>for</span> (t = list; t; t = t-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> GtkWidget *child = <span class='macro'>GTK_WIDGET (t-&gt;data)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((t-&gt;data)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_can_focus (child)) {</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GTK_IS_CONTAINER (child)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(child)); GType __t = ((gtk_container_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> retval = container_has_focusable_child (<span class='macro'>GTK_CONTAINER (child)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((child)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='keyword'>if</span> (retval)</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_list_free (list);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line">mate_panel_applet_menu_popup (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> GdkEvent *event)</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> GtkWidget *menu;</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> menu = gtk_ui_manager_get_widget (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='string_literal'>"/MatePanelAppletPopup"</span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='comment'>/* Set up theme and transparency support */</span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> GtkWidget *toplevel = gtk_widget_get_toplevel (menu);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"><span class='comment'>/* Fix any failures of compiz/other wm's to communicate with gtk for transparency */</span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"><span class='comment'>/* Set menu and it's toplevel window to follow panel theme */</span></td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> GdkGravity widget_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> GdkGravity menu_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (priv-&gt;orient) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> menu_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> widget_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> menu_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> widget_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> gtk_menu_popup_at_widget (<span class='macro'>GTK_MENU (menu)<span class='macro_popup'>((((GtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> widget_anchor,</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> menu_anchor,</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> event);</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line">mate_panel_applet_can_focus (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='comment'>* A MatePanelApplet widget can focus if it has a tooltip or it does</span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='comment'>* not have any focusable children.</span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget))</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>if</span> (!MATE_PANEL_IS_APPLET (widget))</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>return</span> !container_has_focusable_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"><span class='comment'>/* Taken from libmatecomponentui/matecomponent/matecomponent-plug.c */</span></td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line">mate_panel_applet_button_event (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> GdkWindow *socket_window;</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> XEvent xevent;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> widget = priv-&gt;plug;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_toplevel (widget))</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> socket_window = gtk_plug_get_socket_window (<span class='macro'>GTK_PLUG (widget)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (event-&gt;type == GDK_BUTTON_PRESS) {</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonPress<span class='macro_popup'>4</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='comment'>/* X does an automatic pointer grab on button press</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='comment'>* if we have both button press and release events</span></td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='comment'>* selected.</span></td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='comment'>* We don't want to hog the pointer on our parent.</span></td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonRelease<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> xevent.xbutton.display = <span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> xevent.xbutton.window = <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> xevent.xbutton.root = <span class='macro'>GDK_WINDOW_XID (gdk_screen_get_root_window<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> <span class='macro'>(gdk_window_get_screen (window)))<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> <span class='comment'>* FIXME: the following might cause</span></td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='comment'>* big problems for non-GTK apps</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> xevent.xbutton.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> xevent.xbutton.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> xevent.xbutton.x_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> xevent.xbutton.y_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> xevent.xbutton.state = event-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> xevent.xbutton.button = event-&gt;button;</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xevent.xbutton.same_screen = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; <span class='comment'>/* FIXME ? */</span></td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> XSendEvent (<span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>NoEventMask<span class='macro_popup'>0L</span></span>, &amp;xevent);</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> gdk_display_flush (display);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line">mate_panel_applet_button_press (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>if</span> (!container_has_focusable_child (<span class='macro'>GTK_CONTAINER (applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_container_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>/*Limit the window list's applet menu to the handle area*/</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='keyword'>if</span> (!(<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> flags = mate_panel_applet_get_flags (applet);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>if</span> (flags &amp; MATE_PANEL_APPLET_EXPAND_MAJOR)</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 3) {</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> mate_panel_applet_menu_popup (applet, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">mate_panel_applet_button_release (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='comment'>/*Open the applet context menu only on Menu key</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='comment'>*Do not open it on Return or some applets won't work</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line">mate_panel_applet_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='keyword'>if</span> (event-&gt;keyval == <span class='macro'>GDK_KEY_Menu<span class='macro_popup'>0xff67</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> mate_panel_applet_menu_popup (MATE_PANEL_APPLET (widget), (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line">mate_panel_applet_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> <span class='keyword'>int</span> *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>int</span> *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_width (widget,</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> natural_width);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> *minimum_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> *natural_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line">mate_panel_applet_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='keyword'>int</span> *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>int</span> *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_height (widget,</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> natural_height);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> *minimum_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> *natural_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"><span class='keyword'>static</span> GtkSizeRequestMode</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line">mate_panel_applet_get_request_mode (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='comment'>/* Do not use GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='comment'>* or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='comment'>* to avoid problems with in-process applets</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='comment'>* when the panel is not expanded</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='comment'>* See https://github.com/mate-desktop/mate-panel/issues/797</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='comment'>* and https://github.com/mate-desktop/mate-panel/issues/799</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='comment'>* Out of process applets already use GTK_SIZE_REQUEST_CONSTANT_SIZE</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>return</span> GTK_SIZE_REQUEST_CONSTANT_SIZE;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line">mate_panel_applet_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_can_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;size_allocate (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>int</span> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> GtkBin *bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> child_allocation.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> child_allocation.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> child_allocation.width = <span class='macro'>MAX (allocation-&gt;width - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;width - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;width - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> child_allocation.height = <span class='macro'>MAX (allocation-&gt;height - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;height - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;height - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> allocation-&gt;x + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> allocation-&gt;y + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> child_allocation.width,</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> child_allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> GtkWidget *child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>if</span> (child)</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> gtk_widget_size_allocate (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='keyword'>if</span> ((priv-&gt;previous_height != allocation-&gt;height) ||</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> (priv-&gt;previous_width != allocation-&gt;width)) {</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> priv-&gt;previous_height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> priv-&gt;previous_width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"><span class='keyword'>static</span> gboolean mate_panel_applet_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> <span class='keyword'>int</span> border_width;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> gdouble x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;draw(widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget))</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> width = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> height = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> width -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> height -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_render_focus (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line">mate_panel_applet_focus (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> GtkWidget *previous_focus_child;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (widget), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (widget))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (widget)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;moving_focus_out) {</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='comment'>* Applet will retain focus if there is nothing else on the</span></td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='comment'>* panel to get focus</span></td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> previous_focus_child = gtk_container_get_focus_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='keyword'>if</span> (!previous_focus_child &amp;&amp; !gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> ret = <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;focus (widget, dir);</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> <span class='keyword'>if</span> (!ret &amp;&amp; !previous_focus_child) {</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> <span class='comment'>* Applet does not have a widget which can focus so set</span></td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>* the focus on the applet unless it already had focus</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* because it had a tooltip.</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line">mate_panel_applet_parse_color (<span class='keyword'>const</span> gchar *color_str,</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='macro'>g_assert (color_str &amp;&amp; color)<span class='macro_popup'>do { if (color_str &amp;&amp; color) ; else g_assertion_message_expr<br> (((gchar*) 0), "mate-panel-applet.c", 1285, ((const char*) (<br>__func__)), "color_str &amp;&amp; color"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='keyword'>return</span> gdk_rgba_parse (color, color_str);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line">mate_panel_applet_parse_pixmap_str (<span class='keyword'>const</span> <span class='keyword'>char</span> *str,</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> Window *xid,</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> *y)</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> <span class='keyword'>char</span> *tmp;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> <span class='macro'>g_return_val_if_fail (str != NULL, FALSE)<span class='macro_popup'>do { if ((str != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "str != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> <span class='macro'>g_return_val_if_fail (xid != NULL, FALSE)<span class='macro_popup'>do { if ((xid != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xid != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>g_return_val_if_fail (x != NULL, FALSE)<span class='macro_popup'>do { if ((x != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "x != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='macro'>g_return_val_if_fail (y != NULL, FALSE)<span class='macro_popup'>do { if ((y != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "y != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> elements = g_strsplit (str, <span class='string_literal'>","</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> <span class='keyword'>if</span> (!elements)</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> <span class='keyword'>if</span> (!elements [0] || !*elements [0] ||</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> !elements [1] || !*elements [1] ||</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> !elements [2] || !*elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> *xid = strtol (elements [0], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [0])</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> *x = strtol (elements [1], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [1])</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> *y = strtol (elements [2], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line">ERROR_AND_FREE:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"><span class='keyword'>static</span> cairo_surface_t *</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line">mate_panel_applet_create_foreign_surface_for_display (GdkDisplay *display,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> GdkVisual *visual,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> Window xid)</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>Status<span class='macro_popup'>int</span></span> result = 0;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> Window window;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> gint x, y;</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> guint width, height, border, depth;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> result = XGetGeometry (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>, xid, &amp;window,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> &amp;x, &amp;y, &amp;width, &amp;height, &amp;border, &amp;depth);</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>if</span> (result == 0)</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> <span class='keyword'>return</span> cairo_xlib_surface_create (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> xid, gdk_x11_visual_get_xvisual (visual),</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"><span class='keyword'>static</span> cairo_pattern_t *</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line">mate_panel_applet_get_pattern_from_pixmap (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> Window xid,</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> cairo_surface_t *background;</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> <span class='keyword'>int</span> width;</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>int</span> height;</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> background = mate_panel_applet_create_foreign_surface_for_display (display,</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> gdk_window_get_visual (window),</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> xid);</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='comment'>/* background can be NULL if the user changes the background very fast.</span></td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='comment'>* We'll get the next update, so it's not a big deal. */</span></td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>if</span> (!background || cairo_surface_status (background) != CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> <span class='keyword'>if</span> (background)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> width = gdk_window_get_width(window);</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> height = gdk_window_get_height(window);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> surface = gdk_window_create_similar_surface (window,</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> width,</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> height);</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> cr = cairo_create (surface);</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> cairo_set_source_surface (cr, background, -x, -y);</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>if</span> (cairo_status (cr) == CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> pattern = cairo_pattern_create_for_surface (surface);</td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> <span class='keyword'>return</span> pattern;</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"><span class='keyword'>static</span> MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line">mate_panel_applet_handle_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> MatePanelAppletBackgroundType retval;</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>) || !priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> elements = g_strsplit (priv-&gt;background, <span class='string_literal'>":"</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"none"</span> )) {</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='macro'>g_return_val_if_fail (color != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> <span class='keyword'>if</span> (!elements [1] || !mate_panel_applet_parse_color (elements [1], color)) {</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received"</span>, elements [0]);</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> retval = PANEL_COLOR_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"pixmap"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> Window pixmap_id;</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='macro'>g_return_val_if_fail (pattern != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((pattern != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "pattern != NULL"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_parse_pixmap_str (elements [1], &amp;pixmap_id, &amp;x, &amp;y)) {</td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> elements [0], elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> *pattern = mate_panel_applet_get_pattern_from_pixmap (applet, pixmap_id, x, y);</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> <span class='keyword'>if</span> (!*pattern) {</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> g_warning (<span class='string_literal'>"Failed to get pattern %s"</span>, elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> retval = PANEL_PIXMAP_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> g_warning(<span class='string_literal'>"Received pixmap background type, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> g_warning (<span class='string_literal'>"Unknown background type received"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line">MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line">mate_panel_applet_get_background (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> <span class='comment'>/* initial sanity */</span></td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> <span class='keyword'>if</span> (pattern != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> *pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> <span class='keyword'>if</span> (color != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> memset (color, 0, <span class='keyword'>sizeof</span> (GdkRGBA));</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_handle_background_string (applet, color, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line">mate_panel_applet_set_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> <span class='keyword'>const</span> gchar *background)</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background == background)</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;background, background) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> g_free (priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> priv-&gt;background = background ? <span class='macro'>g_strdup (background)<span class='macro_popup'>g_strdup_inline (background)</span></span> : <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line">mate_panel_applet_handle_background (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> MatePanelAppletBackgroundType type;</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> type = mate_panel_applet_get_background (applet, &amp;color, &amp;pattern);</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> <span class='keyword'>if</span> (!gdk_screen_is_composited (gdk_screen_get_default ())) {</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> 0, PANEL_NO_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> 0, PANEL_COLOR_BACKGROUND, &amp;color, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> 0, PANEL_PIXMAP_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> cairo_pattern_destroy (pattern);</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1562, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line">mate_panel_applet_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line">mate_panel_applet_move_focus_out_of_applet (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel)<span class='macro_popup'>do { if ((toplevel)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "toplevel"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> gtk_widget_child_focus (toplevel, dir);</td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line">mate_panel_applet_change_background(MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> MatePanelAppletBackgroundType type,</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> GdkRGBA* color,</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> cairo_pattern_t *pattern)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> gtk_widget_set_app_paintable (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> _mate_panel_applet_apply_css (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>,type);</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> cairo_pattern_t *transparent = cairo_pattern_create_rgba (0, 0, 0, 0); <span class='comment'>/* Using NULL here breaks transparent */</span></td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> gdk_window_set_background_pattern (window, transparent); <span class='comment'>/* backgrounds set by GTK theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> cairo_pattern_destroy (transparent);</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> gdk_window_set_background_rgba(window,color);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> gdk_window_set_background_pattern(window,pattern);</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1639, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_UP ||</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"horizontal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"vertical"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">mate_panel_applet_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_value_set_boolean (value, priv-&gt;out_of_process);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> g_value_set_string (value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> g_value_set_pointer (value, priv-&gt;closure);</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> g_value_set_object (value, priv-&gt;connection);</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line"> g_value_set_string (value, priv-&gt;prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line"> g_value_set_uint (value, priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> g_value_set_uint (value, priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> g_value_set_string (value, priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> g_value_set_uint (value, priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> GVariant *variant;</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> variant = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> g_value_set_pointer (value, variant);</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1717, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line">mate_panel_applet_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> priv-&gt;out_of_process = g_value_get_boolean (value);</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> priv-&gt;id = g_value_dup_string (value);</td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> priv-&gt;closure = g_value_get_pointer (value);</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> g_closure_set_marshal (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> mate_panel_applet_marshal_BOOLEAN__STRING);</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> priv-&gt;connection = g_value_dup_object (value);</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> mate_panel_applet_set_orient (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> mate_panel_applet_set_size (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> mate_panel_applet_set_background_string (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> mate_panel_applet_set_flags (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> size_hints = g_variant_get_fixed_array (g_value_get_pointer (value),</td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> mate_panel_applet_set_locked (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1779, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line">add_tab_bindings (GtkBindingSet *binding_set,</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> GdkModifierType modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> GtkDirectionType direction)</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_Tab<span class='macro_popup'>0xff09</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_KP_Tab<span class='macro_popup'>0xff89</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line">mate_panel_applet_setup (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> GValue value = {0, };</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> GArray *params;</td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> <span class='macro'>g_assert ((priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL))<span class='macro_popup'>do { if ((priv-&gt;id != ((void*)0)) &amp;&amp; (priv-&gt;closure<br> != ((void*)0))) ; else g_assertion_message_expr (((gchar*) 0<br>), "mate-panel-applet.c", 1807, ((const char*) (__func__)), "(priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> params = g_array_sized_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (GValue), 2);</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"> g_value_set_object (&amp;value, <span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> g_value_set_string (&amp;value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> g_closure_invoke (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> &amp;value, params-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> <span class="mrange"><span class="mrange">(GValue *) params-&gt;data</span></span>,</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:27ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; params-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> g_value_unset (&amp;<span class='macro'>g_array_index (params, GValue, i)<span class='macro_popup'>(((GValue*) (void *) (params)-&gt;data) [(i)])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> g_array_free (params, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> ret = g_value_get_boolean (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> <span class='keyword'>if</span> (!ret) { <span class='comment'>/* FIXME */</span></td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> g_warning (<span class='string_literal'>"need to free the control here"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css(GtkWidget* widget, MatePanelAppletBackgroundType type)</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> GtkStyleContext* context;</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> gtk_style_context_remove_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1857, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> _mate_panel_applet_prepare_css (GtkStyleContext *context)</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gdk_display_get_default ())"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> <span class='string_literal'>"#PanelPlug {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='string_literal'>" background-repeat: no-repeat;\n"</span> <span class='comment'>/*disable in gtk theme features */</span></td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> <span class='string_literal'>" background-size: cover; "</span> <span class='comment'>/*that don't work on panel-toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> <span class='string_literal'>" }\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> <span class='string_literal'>".mate-custom-panel-background{\n"</span> <span class='comment'>/*prepare CSS for user set theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> <span class='string_literal'>" background-color: rgba (0, 0, 0, 0);\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='string_literal'>" background-image: none;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> <span class='string_literal'>"}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> gtk_style_context_add_provider (context,</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line">mate_panel_applet_init (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> priv-&gt;flags = MATE_PANEL_APPLET_FLAGS_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> priv-&gt;orient = MATE_PANEL_APPLET_ORIENT_UP;</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> priv-&gt;size = 24;</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line"> priv-&gt;panel_action_group = gtk_action_group_new (<span class='string_literal'>"PanelActions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> gtk_action_group_set_translation_domain (priv-&gt;panel_action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> gtk_action_group_add_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> menu_entries,</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_entries)<span class='macro_popup'>(sizeof (menu_entries) / sizeof ((menu_entries)[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> gtk_action_group_add_toggle_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> menu_toggle_entries,</td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_toggle_entries)<span class='macro_popup'>(sizeof (menu_toggle_entries) / sizeof ((menu_toggle_entries)<br>[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> priv-&gt;ui_manager = gtk_ui_manager_new ();</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> priv-&gt;panel_action_group, 1);</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> panel_menu_ui, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> gtk_widget_set_events (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"><span class='keyword'>static</span> GObject *</td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line">mate_panel_applet_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> priv-&gt;plug = gtk_plug_new (0);</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> gtk_widget_set_visual (widget,</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget)));</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"> gtk_widget_set_name (widget, <span class='string_literal'>"PanelPlug"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> _mate_panel_applet_prepare_css (context);</td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='macro'>g_signal_connect_swapped (priv-&gt;plug, <span class='string_literal'>"embedded"</span>,<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_setup),<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (priv-&gt;plug)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_container_get_type ()))))))</span></span>, <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line"> g_warning (<span class='string_literal'>"Requested construction of an out-of-process applet, which is only possible on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line">mate_panel_applet_constructed (GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> MatePanelApplet* applet = MATE_PANEL_APPLET(object);</td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> <span class='comment'>/* Rename the class to have compatibility with all GTK2 themes</span></td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>* https://github.com/perberos/Mate-Desktop-Environment/issues/27</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> gtk_widget_set_name(<span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> mate_panel_applet_register_object (applet);</td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line">mate_panel_applet_class_init (MatePanelAppletClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> gobject_class-&gt;get_property = mate_panel_applet_get_property;</td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> gobject_class-&gt;set_property = mate_panel_applet_set_property;</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> gobject_class-&gt;constructor = mate_panel_applet_constructor;</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> gobject_class-&gt;constructed = mate_panel_applet_constructed;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> klass-&gt;move_focus_out_of_applet = mate_panel_applet_move_focus_out_of_applet;</td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> klass-&gt;change_background = mate_panel_applet_change_background;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> widget_class-&gt;button_press_event = mate_panel_applet_button_press;</td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> widget_class-&gt;button_release_event = mate_panel_applet_button_release;</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> widget_class-&gt;get_request_mode = mate_panel_applet_get_request_mode;</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> widget_class-&gt;get_preferred_width = mate_panel_applet_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> widget_class-&gt;get_preferred_height = mate_panel_applet_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> widget_class-&gt;draw = mate_panel_applet_draw;</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> widget_class-&gt;size_allocate = mate_panel_applet_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> widget_class-&gt;focus = mate_panel_applet_focus;</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> widget_class-&gt;realize = mate_panel_applet_realize;</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> widget_class-&gt;key_press_event = mate_panel_applet_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> gobject_class-&gt;finalize = mate_panel_applet_finalize;</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> g_param_spec_string (<span class='string_literal'>"id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> <span class='string_literal'>"Id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> <span class='string_literal'>"The Applet identifier"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> <span class='string_literal'>"GClosure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> <span class='string_literal'>"The Applet closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> g_param_spec_object (<span class='string_literal'>"connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> <span class='string_literal'>"Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='string_literal'>"The DBus Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='macro'>G_TYPE_DBUS_CONNECTION<span class='macro_popup'>(g_dbus_connection_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> g_param_spec_string (<span class='string_literal'>"prefs-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='string_literal'>"PrefsPath"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> <span class='string_literal'>"GSettings Preferences Path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> <span class='string_literal'>"Orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"> <span class='string_literal'>"Panel Applet Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_FIRST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_UP</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_LAST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_RIGHT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> MATE_PANEL_APPLET_ORIENT_UP,</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='string_literal'>"Panel Applet Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> 0, <span class='macro'>G_MAXUINT<span class='macro_popup'>(2147483647 *2U +1U)</span></span>, 0,</td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> g_param_spec_string (<span class='string_literal'>"background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> <span class='string_literal'>"Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> <span class='string_literal'>"Panel Applet Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='string_literal'>"Panel Applet flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_FLAGS_ALL<span class='macro_popup'>(MATE_PANEL_APPLET_EXPAND_MAJOR|MATE_PANEL_APPLET_EXPAND_MINOR<br>|MATE_PANEL_APPLET_HAS_HANDLE)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> <span class='comment'>/* FIXME: value_array? */</span></td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"size-hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> <span class='string_literal'>"Panel Applet Size Hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='string_literal'>"Locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> PROP_LOCKED_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked-down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> <span class='string_literal'>"LockedDown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT] =</td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> g_signal_new (<span class='string_literal'>"change-orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_orient)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_orient<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__UINT<span class='macro_popup'>g_cclosure_marshal_VOID__UINT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE] =</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_signal_new (<span class='string_literal'>"change-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_size)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_size<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__INT<span class='macro_popup'>g_cclosure_marshal_VOID__INT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line"> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND] =</td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line"> g_signal_new (<span class='string_literal'>"change-background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_background)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_background<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> mate_panel_applet_marshal_VOID__ENUM_BOXED_OBJECT,</td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> 3,</td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='macro'>PANEL_TYPE_MATE_PANEL_APPLET_BACKGROUND_TYPE<span class='macro_popup'>mate_panel_applet_background_type_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> <span class='macro'>GDK_TYPE_RGBA<span class='macro_popup'>(gdk_rgba_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='macro'>CAIRO_GOBJECT_TYPE_PATTERN<span class='macro_popup'>cairo_gobject_pattern_get_type ()</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> mate_panel_applet_signals [MOVE_FOCUS_OUT_OF_APPLET] =</td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> g_signal_new (<span class='string_literal'>"move_focus_out_of_applet"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, move_focus_out_of_applet)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, move_focus_out_of_applet<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__ENUM<span class='macro_popup'>g_cclosure_marshal_VOID__ENUM</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> binding_set = gtk_binding_set_by_class (gobject_class);</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> add_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line">GtkWidget* mate_panel_applet_new(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> MatePanelApplet* applet = g_object_new(<span class='macro'>PANEL_TYPE_APPLET<span class='macro_popup'>mate_panel_applet_get_type ()</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"><span class='keyword'>static</span> GdkEvent *</td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line">button_press_event_new (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> guint button,</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> guint time)</td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> GdkEvent *event;</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> device = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> event = gdk_event_new (GDK_BUTTON_PRESS);</td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> event-&gt;button.time = time;</td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> event-&gt;button.button = button;</td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> gdk_event_set_device (event, device);</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> <span class='keyword'>return</span> event;</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line">method_call_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> <span class='keyword'>const</span> gchar *method_name,</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> GVariant *parameters,</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> GDBusMethodInvocation *invocation,</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (method_name, <span class='string_literal'>"PopupMenu"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> guint button;</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> guint time;</td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> g_variant_get (parameters, <span class='string_literal'>"(uu)"</span>, &amp;button, &amp;time);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> GdkEvent *event = button_press_event_new (applet, button, time);</td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> mate_panel_applet_menu_popup (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> gdk_event_free (event);</td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> g_dbus_method_invocation_return_value (invocation, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line">get_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> GVariant *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (user_data));</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> retval = g_variant_new_string (priv-&gt;prefs_path ? priv-&gt;prefs_path : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> retval = g_variant_new_string (priv-&gt;background ? priv-&gt;background : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> retval = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line">set_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line"> GVariant *value,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> mate_panel_applet_set_orient (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> mate_panel_applet_set_size (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> mate_panel_applet_set_background_string (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> mate_panel_applet_set_flags (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> size_hints = g_variant_get_fixed_array (value, &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> mate_panel_applet_set_locked (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar introspection_xml[] =</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> <span class='string_literal'>"&lt;node&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='string_literal'>"&lt;interface name='org.mate.panel.applet.Applet'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line"> <span class='string_literal'>"&lt;method name='PopupMenu'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> <span class='string_literal'>"&lt;arg name='button' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"> <span class='string_literal'>"&lt;arg name='time' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line"> <span class='string_literal'>"&lt;/method&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='string_literal'>"&lt;property name='PrefsPath' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='string_literal'>"&lt;property name='Orient' type='u' access='readwrite' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='string_literal'>"&lt;property name='Size' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line"> <span class='string_literal'>"&lt;property name='Background' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='string_literal'>"&lt;property name='Flags' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> <span class='string_literal'>"&lt;property name='SizeHints' type='ai' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> <span class='string_literal'>"&lt;property name='Locked' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> <span class='string_literal'>"&lt;property name='LockedDown' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='string_literal'>"&lt;signal name='Move' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='string_literal'>"&lt;signal name='RemoveFromPanel' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='string_literal'>"&lt;signal name='Lock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> <span class='string_literal'>"&lt;signal name='Unlock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='string_literal'>"&lt;/interface&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> <span class='string_literal'>"&lt;/node&gt;"</span>;</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GDBusInterfaceVTable interface_vtable = {</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> method_call_cb,</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> get_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> set_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> { 0 }</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"><span class='keyword'>static</span> GDBusNodeInfo *introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line">mate_panel_applet_register_object (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>static</span> gint id = 0;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> <span class='keyword'>if</span> (!introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> priv-&gt;object_path = g_strdup_printf (<span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span>, priv-&gt;id, id++);</td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> priv-&gt;object_id =</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> g_dbus_connection_register_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> introspection_data-&gt;interfaces[0],</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> &amp;interface_vtable,</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;object_id) {</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to register object %s: %s\n"</span>, priv-&gt;object_path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_factory_main_finalized(gpointer data, GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> gtk_main_quit();</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> <span class='keyword'>if</span> (introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> g_dbus_node_info_unref(introspection_data);</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> (*_x_error_func) (Display *, XErrorEvent *);</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line">_x_error_handler (Display *display, XErrorEvent *error)</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (!error-&gt;error_code)</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='comment'>/* If we got a BadDrawable or a BadWindow, we ignore it for now.</span></td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> <span class='comment'>* FIXME: We need to somehow distinguish real errors from</span></td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> <span class='comment'>* X-server-induced errors. Keeping a list of windows for which we</span></td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> <span class='comment'>* will ignore BadDrawables would be a good idea. */</span></td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> <span class='keyword'>if</span> (error-&gt;error_code == <span class='macro'>BadDrawable<span class='macro_popup'>9</span></span> ||</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> error-&gt;error_code == <span class='macro'>BadWindow<span class='macro_popup'>3</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> <span class='keyword'>return</span> _x_error_func (display, error);</td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> <span class='comment'>* To do graphical embedding in the X window system, MATE Panel</span></td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> <span class='comment'>* uses the classic foreign-window-reparenting trick. The</span></td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='comment'>* GtkPlug/GtkSocket widgets are used for this purpose. However,</span></td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line"> <span class='comment'>* serious robustness problems arise if the GtkSocket end of the</span></td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> <span class='comment'>* connection unexpectedly dies. The X server sends out DestroyNotify</span></td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"> <span class='comment'>* events for the descendants of the GtkPlug (i.e., your embedded</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line"> <span class='comment'>* component's windows) in effectively random order. Furthermore, if</span></td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> <span class='comment'>* you happened to be drawing on any of those windows when the</span></td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line"> <span class='comment'>* GtkSocket was destroyed (a common state of affairs), an X error</span></td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> <span class='comment'>* will kill your application.</span></td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> <span class='comment'>* To solve this latter problem, MATE Panel sets up its own X error</span></td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> <span class='comment'>* handler which ignores certain X errors that might have been</span></td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> <span class='comment'>* caused by such a scenario. Other X errors get passed to gdk_x_error</span></td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='comment'>* normally.</span></td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line">_mate_panel_applet_setup_x_error_handler (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>static</span> gboolean error_handler_setup = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> <span class='keyword'>if</span> (error_handler_setup)</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> error_handler_setup = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> _x_error_func = XSetErrorHandler (_x_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line">_mate_panel_applet_factory_main_internal (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> gboolean out_process,</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> MatePanelAppletFactory* factory;</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> GClosure* closure;</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='macro'>g_return_val_if_fail(factory_id != NULL, 1)<span class='macro_popup'>do { if ((factory_id != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "factory_id != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> <span class='macro'>g_return_val_if_fail(callback != NULL, 1)<span class='macro_popup'>do { if ((callback != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "callback != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> <span class='macro'>g_assert(g_type_is_a(applet_type, PANEL_TYPE_APPLET))<span class='macro_popup'>do { if (((applet_type) == (mate_panel_applet_get_type ()) ||<br> (g_type_is_a) ((applet_type), (mate_panel_applet_get_type ()<br>)))) ; else g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 2425, ((const char*) (__func__)), "g_type_is_a(applet_type, PANEL_TYPE_APPLET)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='comment'>/*Use this both in and out of process as the tray applet always uses GtkSocket</span></td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> <span class='comment'>*to handle GtkStatusIcons whether the tray itself is built in or out of process</span></td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> _mate_panel_applet_setup_x_error_handler();</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>if</span> (out_process) {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> g_warning(<span class='string_literal'>"Requested out-of-process applet, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> closure = g_cclosure_new(<span class='macro'>G_CALLBACK(callback)<span class='macro_popup'>((GCallback) (callback))</span></span>, user_data, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> factory = mate_panel_applet_factory_new(factory_id, out_process, applet_type, closure);</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> g_closure_unref(closure);</td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_factory_register_service(factory))</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> <span class='keyword'>if</span> (out_process)</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> g_object_weak_ref(<span class='macro'>G_OBJECT(factory)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((factory)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, mate_panel_applet_factory_main_finalized, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> gtk_main();</td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> g_object_unref (factory);</td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_main:</span></td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> <span class='comment'>* @out_process: boolean, dummy to support applets sending it</span></td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line">mate_panel_applet_factory_main (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> gboolean out_process, <span class='comment'>/*Dummy to support applets w issues with this */</span></td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_setup_in_process: (skip)</span></td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line">mate_panel_applet_factory_setup_in_process (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> <span class='comment'>* mate_panel_applet_set_background_widget:</span></td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> <span class='comment'>* @applet: a #PanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> <span class='comment'>* @widget: a #GtkWidget.</span></td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> <span class='comment'>* Configure #PanelApplet to automatically draw the background of the applet on</span></td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> <span class='comment'>* @widget. It is generally enough to call this function with @applet as</span></td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"> <span class='comment'>* @widget.</span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='comment'>* Deprecated: 3.20: Do not use this API. Since 3.20 this function does nothing.</span></td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line">mate_panel_applet_set_background_widget (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line">guint32</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line">mate_panel_applet_get_xid (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> <span class='comment'>/* out_of_process should only be true on X11, so an extra runtime Wayland check is not needed */</span></td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process == <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (priv-&gt;plug)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> gtk_widget_show (priv-&gt;plug);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> <span class='keyword'>return</span> gtk_plug_get_id (<span class='macro'>GTK_PLUG (priv-&gt;plug)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"><span class='keyword'>const</span> gchar *</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">mate_panel_applet_get_object_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> <span class='keyword'>return</span> priv-&gt;object_path;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"><span class='macro'>G_MODULE_EXPORT<span class='macro_popup'>__attribute__((visibility("default")))</span></span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line">mate_panel_applet_get_applet_widget (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> guint uid)</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> widget = mate_panel_applet_factory_get_applet_widget (factory_id, uid);</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>if</span> (!widget) {</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> mate_panel_applet_setup (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>return</span> widget;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-b8f564.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-b8f564.html
new file mode 100644
index 00000000..50c7b6b6
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-b8f564.html
@@ -0,0 +1,2089 @@
+<!doctype html>
+<html>
+<head>
+<title>eggsmclient-xsmp.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/mate-submodules/libegg/eggsmclient-xsmp.c -->
+
+<!-- FILENAME eggsmclient-xsmp.c -->
+
+<!-- FUNCTIONNAME array_prop -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT b8f564960b65bf4fae4d59c6aee36738 -->
+
+<!-- BUGLINE 1199 -->
+
+<!-- BUGCOLUMN 18 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/mate-submodules/libegg/eggsmclient-xsmp.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 1199, column 18</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name eggsmclient-xsmp.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel/mate-submodules/libegg -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../../.. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D EGG_SM_CLIENT_BACKEND_XSMP -D G_LOG_DOMAIN="EggSMClient" -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel/mate-submodules/libegg -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c eggsmclient-xsmp.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"1199": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* Copyright (C) 2007 Novell, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Inspired by various other pieces of code including GsmClient (C)</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* 2001 Havoc Pennington, MateClient (C) 1998 Carsten Schaar, and twm</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* session code (C) 1998 The Open Group.</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include "config.h"</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include "eggsmclient.h"</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include "eggsmclient-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include "eggdesktopfile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;X11/SM/SMlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#if defined(GDK_WINDOWING_X11) || defined(<span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_TYPE_SM_CLIENT_XSMP<span class='macro_popup'>(egg_sm_client_xsmp_get_type ())</span></span> (egg_sm_client_xsmp_get_type ())</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP(obj)<span class='macro_popup'>((((EggSMClientXSMP*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((obj)), ((egg_sm_client_xsmp_get_type ()))))))</span></span> (<span class='macro'>G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMP)<span class='macro_popup'>(((EggSMClientXSMP*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((obj)), ((egg_sm_client_xsmp_get_type ())))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP_CLASS(klass)<span class='macro_popup'>((((EggSMClientXSMPClass*) (void *) g_type_check_class_cast (<br>(GTypeClass*) ((klass)), ((egg_sm_client_xsmp_get_type ()))))<br>))</span></span> (<span class='macro'>G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)<span class='macro_popup'>(((EggSMClientXSMPClass*) (void *) g_type_check_class_cast ((<br>GTypeClass*) ((klass)), ((egg_sm_client_xsmp_get_type ())))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_IS_SM_CLIENT_XSMP(obj)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(obj)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span> (<span class='macro'>G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_XSMP)<span class='macro_popup'>((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(obj)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_IS_SM_CLIENT_XSMP_CLASS(klass)<span class='macro_popup'>(((__extension__ ({ GTypeClass *__class = (GTypeClass*) ((klass<br>)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean __r<br>; if (!__class) __r = (0); else if (__class-&gt;g_type == __t<br>) __r = (!(0)); else __r = g_type_check_class_is_a (__class, __t<br>); __r; }))))</span></span> (<span class='macro'>G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_XSMP)<span class='macro_popup'>((__extension__ ({ GTypeClass *__class = (GTypeClass*) ((klass<br>)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean __r<br>; if (!__class) __r = (0); else if (__class-&gt;g_type == __t<br>) __r = (!(0)); else __r = g_type_check_class_is_a (__class, __t<br>); __r; })))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP_GET_CLASS(obj)<span class='macro_popup'>((((EggSMClientXSMPClass*) (((GTypeInstance*) ((obj)))-&gt;g_class<br>))))</span></span> (<span class='macro'>G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)<span class='macro_popup'>(((EggSMClientXSMPClass*) (((GTypeInstance*) ((obj)))-&gt;g_class<br>)))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> _EggSMClientXSMP EggSMClientXSMP;</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> _EggSMClientXSMPClass EggSMClientXSMPClass;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='comment'>/* These mostly correspond to the similarly-named states in section</span></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='comment'>* 9.1 of the XSMP spec. Some of the states there aren't represented</span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='comment'>* here, because we don't need them. SHUTDOWN_CANCELLED is slightly</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> <span class='comment'>* different from the spec; we use it when the client is IDLE after a</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='comment'>* ShutdownCancelled message, but the application is still interacting</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='comment'>* and doesn't know the shutdown has been cancelled yet.</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> XSMP_STATE_IDLE,</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> XSMP_STATE_SAVE_YOURSELF,</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> XSMP_STATE_INTERACT_REQUEST,</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> XSMP_STATE_INTERACT,</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> XSMP_STATE_SAVE_YOURSELF_DONE,</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> XSMP_STATE_SHUTDOWN_CANCELLED,</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> XSMP_STATE_CONNECTION_CLOSED</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line">} EggSMClientXSMPState;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> *state_names[] =</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='string_literal'>"idle"</span>,</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='string_literal'>"save-yourself"</span>,</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='string_literal'>"interact-request"</span>,</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> <span class='string_literal'>"interact"</span>,</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='string_literal'>"save-yourself-done"</span>,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='string_literal'>"shutdown-cancelled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='string_literal'>"connection-closed"</span></td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP_STATE(xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span> (state_names[(xsmp)-&gt;state])</span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"><span class='keyword'>struct</span> _EggSMClientXSMP</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> EggSMClient parent;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> SmcConn connection;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>char</span> *client_id;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> EggSMClientXSMPState state;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>char</span> **restart_command;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> gboolean set_restart_command;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>int</span> restart_style;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>char</span> **discard_command;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> gboolean set_discard_command;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> guint idle;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='comment'>/* Current SaveYourself state */</span></td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> guint expecting_initial_save_yourself : 1;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> guint need_save_state : 1;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> guint need_quit_requested : 1;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> guint interact_errors : 1;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> guint shutting_down : 1;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='comment'>/* Todo list */</span></td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> guint waiting_to_set_initial_properties : 1;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> guint waiting_to_emit_quit : 1;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> guint waiting_to_emit_quit_cancelled : 1;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> guint waiting_to_save_myself : 1;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>struct</span> _EggSMClientXSMPClass</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> EggSMClientClass parent_class;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_startup (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_set_restart_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv);</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_set_discard_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv);</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_will_quit (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> gboolean will_quit);</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"><span class='keyword'>static</span> gboolean sm_client_xsmp_end_session (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> EggSMClientEndStyle style,</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean request_confirmation);</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_save_yourself (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> SmPointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>int</span> save_style,</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> shutdown,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> interact_style,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> fast);</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_die (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_save_complete (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_shutdown_cancelled (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_interact (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"><span class='keyword'>static</span> SmProp *array_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> ...);</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"><span class='keyword'>static</span> SmProp *ptrarray_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> GPtrArray *values);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> SmProp *string_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *value);</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='keyword'>static</span> SmProp *card8_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>char</span> value);</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> set_properties (EggSMClientXSMP *xsmp, ...);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> delete_properties (EggSMClientXSMP *xsmp, ...);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"><span class='keyword'>static</span> GPtrArray *generate_command (<span class='keyword'>char</span> **restart_command,</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id,</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *state_file);</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> save_state (EggSMClientXSMP *xsmp);</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> do_save_yourself (EggSMClientXSMP *xsmp);</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> update_pending_events (EggSMClientXSMP *xsmp);</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_init (<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"><span class='keyword'>static</span> gboolean process_ice_messages (IceConn ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> smc_error_handler (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> SmPointer values);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"><span class='macro'>G_DEFINE_TYPE (EggSMClientXSMP, egg_sm_client_xsmp, EGG_TYPE_SM_CLIENT)<span class='macro_popup'>static void egg_sm_client_xsmp_init (EggSMClientXSMP *self); static<br> void egg_sm_client_xsmp_class_init (EggSMClientXSMPClass *klass<br>); static GType egg_sm_client_xsmp_get_type_once (void); static<br> gpointer egg_sm_client_xsmp_parent_class = ((void*)0); static<br> gint EggSMClientXSMP_private_offset; static void egg_sm_client_xsmp_class_intern_init<br> (gpointer klass) { egg_sm_client_xsmp_parent_class = g_type_class_peek_parent<br> (klass); if (EggSMClientXSMP_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;EggSMClientXSMP_private_offset); egg_sm_client_xsmp_class_init<br> ((EggSMClientXSMPClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer egg_sm_client_xsmp_get_instance_private<br> (EggSMClientXSMP *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (EggSMClientXSMP_private_offset)))); } GType egg_sm_client_xsmp_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = egg_sm_client_xsmp_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType egg_sm_client_xsmp_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((egg_sm_client_get_type ()), g_intern_static_string ("EggSMClientXSMP"<br>), sizeof (EggSMClientXSMPClass), (GClassInitFunc)(void (*)(void<br>)) egg_sm_client_xsmp_class_intern_init, sizeof (EggSMClientXSMP<br>), (GInstanceInitFunc)(void (*)(void)) egg_sm_client_xsmp_init<br>, (GTypeFlags) 0); { {{};} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line">egg_sm_client_xsmp_init (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> xsmp-&gt;state = XSMP_STATE_CONNECTION_CLOSED;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> xsmp-&gt;connection = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> xsmp-&gt;restart_style = <span class='macro'>SmRestartIfRunning<span class='macro_popup'>0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line">egg_sm_client_xsmp_class_init (EggSMClientXSMPClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass);</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> sm_client_class-&gt;startup = sm_client_xsmp_startup;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> sm_client_class-&gt;set_restart_command = sm_client_xsmp_set_restart_command;</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> sm_client_class-&gt;set_discard_command = sm_client_xsmp_set_discard_command;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> sm_client_class-&gt;will_quit = sm_client_xsmp_will_quit;</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> sm_client_class-&gt;end_session = sm_client_xsmp_end_session;</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">EggSMClient *</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line">egg_sm_client_xsmp_new (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='keyword'>if</span> (!g_getenv (<span class='string_literal'>"SESSION_MANAGER"</span>))</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> <span class='keyword'>return</span> g_object_new (<span class='macro'>EGG_TYPE_SM_CLIENT_XSMP<span class='macro_popup'>(egg_sm_client_xsmp_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line">sm_client_xsmp_set_initial_properties (gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> EggSMClientXSMP *xsmp = user_data;</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> EggDesktopFile *desktop_file;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> GPtrArray *clone, *restart;</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> <span class='keyword'>char</span> pid_str[64];</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;idle)</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> g_source_remove (xsmp-&gt;idle);</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> xsmp-&gt;idle = 0;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> xsmp-&gt;waiting_to_set_initial_properties = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> <span class='keyword'>if</span> (egg_sm_client_get_mode () == EGG_SM_CLIENT_MODE_NO_RESTART)</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> xsmp-&gt;restart_style = <span class='macro'>SmRestartNever<span class='macro_popup'>3</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> <span class='comment'>/* Parse info out of desktop file */</span></td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> desktop_file = egg_get_desktop_file ();</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>if</span> (desktop_file)</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> GError *err = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> <span class='keyword'>char</span> **argv;</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='keyword'>int</span> argc;</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;restart_style == <span class='macro'>SmRestartIfRunning<span class='macro_popup'>0</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>if</span> (egg_desktop_file_get_boolean (desktop_file,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> <span class='string_literal'>"X-MATE-AutoRestart"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> xsmp-&gt;restart_style = <span class='macro'>SmRestartImmediately<span class='macro_popup'>2</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;set_restart_command)</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> <span class='keyword'>char</span> *cmdline;</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> cmdline = egg_desktop_file_parse_exec (desktop_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;err);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> <span class='keyword'>if</span> (cmdline &amp;&amp; g_shell_parse_argv (cmdline, &amp;argc, &amp;argv, &amp;err))</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> egg_sm_client_set_restart_command (EGG_SM_CLIENT (xsmp),</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> argc, (<span class='keyword'>const</span> <span class='keyword'>char</span> **)argv);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> g_warning (<span class='string_literal'>"Could not parse Exec line in desktop file: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> err-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> g_error_free (err);</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> g_free (cmdline);</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;set_restart_command)</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> xsmp-&gt;restart_command = g_strsplit (g_get_prgname (), <span class='string_literal'>" "</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> clone = generate_command (xsmp-&gt;restart_command, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command, xsmp-&gt;client_id, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> g_debug (<span class='string_literal'>"Setting initial properties"</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> <span class='comment'>/* Program, CloneCommand, RestartCommand, and UserID are required.</span></td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> <span class='comment'>* ProcessID isn't required, but the SM may be able to do something</span></td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> <span class='comment'>* useful with it.</span></td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> g_snprintf (pid_str, <span class='keyword'>sizeof</span> (pid_str), <span class='string_literal'>"%lu"</span>, (gulong) getpid ());</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> string_prop (<span class='macro'>SmProgram<span class='macro_popup'>"Program"</span></span>, g_get_prgname ()),</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> ptrarray_prop (<span class='macro'>SmCloneCommand<span class='macro_popup'>"CloneCommand"</span></span>, clone),</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> ptrarray_prop (<span class='macro'>SmRestartCommand<span class='macro_popup'>"RestartCommand"</span></span>, restart),</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> string_prop (<span class='macro'>SmUserID<span class='macro_popup'>"UserID"</span></span>, g_get_user_name ()),</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> string_prop (<span class='macro'>SmProcessID<span class='macro_popup'>"ProcessID"</span></span>, pid_str),</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> card8_prop (<span class='macro'>SmRestartStyleHint<span class='macro_popup'>"RestartStyleHint"</span></span>, xsmp-&gt;restart_style),</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> g_ptr_array_free (clone, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>if</span> (desktop_file)</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> string_prop (<span class='string_literal'>"_GSM_DesktopFile"</span>, egg_desktop_file_get_source (desktop_file)),</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='comment'>/* This gets called from two different places: xsmp_die() (when the</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='comment'>* server asks us to disconnect) and process_ice_messages() (when the</span></td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='comment'>* server disconnects unexpectedly).</span></td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">sm_client_xsmp_disconnect (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> SmcConn connection;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> g_debug (<span class='string_literal'>"Disconnecting"</span>);</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> connection = xsmp-&gt;connection;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> xsmp-&gt;connection = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> SmcCloseConnection (connection, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> xsmp-&gt;state = XSMP_STATE_CONNECTION_CLOSED;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line">sm_client_xsmp_startup (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id)</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> SmcCallbacks callbacks;</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> <span class='keyword'>char</span> *ret_client_id;</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>char</span> error_string_ret[256];</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> xsmp-&gt;client_id = <span class='macro'>g_strdup (client_id)<span class='macro_popup'>g_strdup_inline (client_id)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> ice_init ();</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> SmcSetErrorHandler (smc_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> callbacks.save_yourself.callback = xsmp_save_yourself;</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> callbacks.die.callback = xsmp_die;</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> callbacks.save_complete.callback = xsmp_save_complete;</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> callbacks.shutdown_cancelled.callback = xsmp_shutdown_cancelled;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> callbacks.save_yourself.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> callbacks.die.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> callbacks.save_complete.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> callbacks.shutdown_cancelled.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> client_id = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> error_string_ret[0] = '\0';</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> xsmp-&gt;connection =</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> SmcOpenConnection (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, xsmp, <span class='macro'>SmProtoMajor<span class='macro_popup'>1</span></span>, <span class='macro'>SmProtoMinor<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='macro'>SmcSaveYourselfProcMask<span class='macro_popup'>(1L &lt;&lt; 0)</span></span> | <span class='macro'>SmcDieProcMask<span class='macro_popup'>(1L &lt;&lt; 1)</span></span> |</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='macro'>SmcSaveCompleteProcMask<span class='macro_popup'>(1L &lt;&lt; 2)</span></span> |</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='macro'>SmcShutdownCancelledProcMask<span class='macro_popup'>(1L &lt;&lt; 3)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> &amp;callbacks,</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> xsmp-&gt;client_id, &amp;ret_client_id,</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>sizeof</span> (error_string_ret), error_string_ret);</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> g_warning (<span class='string_literal'>"Failed to connect to the session manager: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> error_string_ret[0] ?</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> error_string_ret : <span class='string_literal'>"no error message given"</span>);</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> xsmp-&gt;state = XSMP_STATE_CONNECTION_CLOSED;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='comment'>/* We expect a pointless initial SaveYourself if either (a) we</span></td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='comment'>* didn't have an initial client ID, or (b) we DID have an initial</span></td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='comment'>* client ID, but the server rejected it and gave us a new one.</span></td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;client_id ||</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> (ret_client_id &amp;&amp; strcmp (xsmp-&gt;client_id, ret_client_id) != 0))</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> xsmp-&gt;expecting_initial_save_yourself = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> <span class='keyword'>if</span> (ret_client_id)</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> g_free (xsmp-&gt;client_id);</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> xsmp-&gt;client_id = <span class='macro'>g_strdup (ret_client_id)<span class='macro_popup'>g_strdup_inline (ret_client_id)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> free (ret_client_id);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"><span class='directive'>#if defined(GDK_WINDOWING_X11) || defined(<span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> gdk_x11_set_sm_client_id (xsmp-&gt;client_id);</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> g_debug (<span class='string_literal'>"Got client ID \"%s\""</span>, xsmp-&gt;client_id);</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='comment'>/* Do not set the initial properties until we reach the main loop,</span></td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='comment'>* so that the application has a chance to call</span></td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> <span class='comment'>* egg_set_desktop_file(). (This may also help the session manager</span></td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='comment'>* have a better idea of when the application is fully up and</span></td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='comment'>* running.)</span></td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> xsmp-&gt;waiting_to_set_initial_properties = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> xsmp-&gt;idle = g_idle_add (sm_client_xsmp_set_initial_properties, client);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">sm_client_xsmp_set_restart_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> g_strfreev (xsmp-&gt;restart_command);</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> xsmp-&gt;restart_command = <span class='macro'>g_new (<span class='keyword'>char</span> *, argc + 1)<span class='macro_popup'>((char * *) g_malloc_n ((argc + 1), sizeof (char *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; argc; i++)</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> xsmp-&gt;restart_command[i] = <span class='macro'>g_strdup (argv[i])<span class='macro_popup'>g_strdup_inline (argv[i])</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> xsmp-&gt;restart_command[i] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> xsmp-&gt;set_restart_command = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line">sm_client_xsmp_set_discard_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_strfreev (xsmp-&gt;discard_command);</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> xsmp-&gt;discard_command = <span class='macro'>g_new (<span class='keyword'>char</span> *, argc + 1)<span class='macro_popup'>((char * *) g_malloc_n ((argc + 1), sizeof (char *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; argc; i++)</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> xsmp-&gt;discard_command[i] = <span class='macro'>g_strdup (argv[i])<span class='macro_popup'>g_strdup_inline (argv[i])</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> xsmp-&gt;discard_command[i] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> xsmp-&gt;set_discard_command = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line">sm_client_xsmp_will_quit (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> gboolean will_quit)</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_CONNECTION_CLOSED)</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='comment'>/* The session manager has already exited! Schedule a quit</span></td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='comment'>* signal.</span></td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> xsmp-&gt;waiting_to_emit_quit = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='comment'>/* We received a ShutdownCancelled message while the application</span></td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='comment'>* was interacting; Schedule a quit_cancelled signal.</span></td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> xsmp-&gt;waiting_to_emit_quit_cancelled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='macro'>g_return_if_fail (xsmp-&gt;state == XSMP_STATE_INTERACT)<span class='macro_popup'>do { if ((xsmp-&gt;state == XSMP_STATE_INTERACT)) { } else { g_return_if_fail_warning<br> ("EggSMClient", ((const char*) (__func__)), "xsmp-&gt;state == XSMP_STATE_INTERACT"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> g_debug (<span class='string_literal'>"Sending InteractDone(%s)"</span>, will_quit ? <span class='string_literal'>"False"</span> : <span class='string_literal'>"True"</span>);</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> SmcInteractDone (xsmp-&gt;connection, !will_quit);</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> <span class='keyword'>if</span> (will_quit &amp;&amp; xsmp-&gt;need_save_state)</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> save_state (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(%s)"</span>, will_quit ? <span class='string_literal'>"True"</span> : <span class='string_literal'>"False"</span>);</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, will_quit);</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line">sm_client_xsmp_end_session (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> EggSMClientEndStyle style,</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> gboolean request_confirmation)</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>int</span> save_type;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='comment'>/* To end the session via XSMP, we have to send a</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>* SaveYourselfRequest. We aren't allowed to do that if anything</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='comment'>* else is going on, but we don't want to expose this fact to the</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> <span class='comment'>* application. So we do our best to patch things up here...</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> <span class='comment'>* In the worst case, this method might block for some length of</span></td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>* time in process_ice_messages, but the only time that code path is</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='comment'>* honestly likely to get hit is if the application tries to end the</span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='comment'>* session as the very first thing it does, in which case it</span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='comment'>* probably won't actually block anyway. It's not worth gunking up</span></td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> <span class='comment'>* the API to try to deal nicely with the other 0.01% of cases where</span></td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='comment'>* this happens.</span></td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>while</span> (xsmp-&gt;state != XSMP_STATE_IDLE ||</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> xsmp-&gt;expecting_initial_save_yourself)</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='comment'>/* If we're already shutting down, we don't need to do anything. */</span></td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;shutting_down)</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='keyword'>switch</span> (xsmp-&gt;state)</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_CONNECTION_CLOSED:</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_SAVE_YOURSELF:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> <span class='comment'>/* Trying to log out from the save_state callback? Whatever.</span></td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='comment'>* Abort the save_state.</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_INTERACT_REQUEST:</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_INTERACT:</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_SHUTDOWN_CANCELLED:</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> <span class='comment'>/* Already in a shutdown-related state, just ignore</span></td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='comment'>* the new shutdown request...</span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_IDLE:</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_set_initial_properties)</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> sm_client_xsmp_set_initial_properties (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;expecting_initial_save_yourself)</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> <span class='comment'>/* else fall through */</span></td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_SAVE_YOURSELF_DONE:</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='comment'>/* We need to wait for some response from the server.*/</span></td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> process_ice_messages (SmcGetIceConnection (xsmp-&gt;connection));</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='comment'>/* Hm... shouldn't happen */</span></td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='comment'>/* xfce4-session will do the wrong thing if we pass SmSaveGlobal and</span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='comment'>* the user chooses to save the session. But mate-session will do</span></td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='comment'>* the wrong thing if we pass SmSaveBoth and the user chooses NOT to</span></td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='comment'>* save the session... Sigh.</span></td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='keyword'>if</span> (!strcmp (SmcVendor (xsmp-&gt;connection), <span class='string_literal'>"xfce4-session"</span>))</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> save_type = <span class='macro'>SmSaveBoth<span class='macro_popup'>2</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> save_type = <span class='macro'>SmSaveGlobal<span class='macro_popup'>0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfRequest(SmSaveGlobal, Shutdown, SmInteractStyleAny, %sFast)"</span>, request_confirmation ? <span class='string_literal'>"!"</span> : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> SmcRequestSaveYourself (xsmp-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> save_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> <span class='macro'>True<span class='macro_popup'>1</span></span>, <span class='comment'>/* shutdown */</span></td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>SmInteractStyleAny<span class='macro_popup'>2</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> !request_confirmation, <span class='comment'>/* fast */</span></td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='macro'>True<span class='macro_popup'>1</span></span> <span class='comment'>/* global */</span>);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line">idle_do_pending_events (gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> EggSMClientXSMP *xsmp = data;</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> EggSMClient *client = data;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> xsmp-&gt;idle = 0;</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_emit_quit)</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> xsmp-&gt;waiting_to_emit_quit = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> egg_sm_client_quit (client);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_emit_quit_cancelled)</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> xsmp-&gt;waiting_to_emit_quit_cancelled = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> egg_sm_client_quit_cancelled (client);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_save_myself)</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> do_save_yourself (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line">out:</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">update_pending_events (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> gboolean want_idle =</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> xsmp-&gt;waiting_to_emit_quit ||</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> xsmp-&gt;waiting_to_emit_quit_cancelled ||</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> xsmp-&gt;waiting_to_save_myself;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>if</span> (want_idle)</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;idle == 0)</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> xsmp-&gt;idle = g_idle_add (idle_do_pending_events, xsmp);</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;idle != 0)</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> g_source_remove (xsmp-&gt;idle);</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> xsmp-&gt;idle = 0;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">fix_broken_state (EggSMClientXSMP *xsmp, <span class='keyword'>const</span> <span class='keyword'>char</span> *message,</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> gboolean send_interact_done,</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> gboolean send_save_yourself_done)</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> g_warning (<span class='string_literal'>"Received XSMP %s message in state %s: client or server error"</span>,</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> message, <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='comment'>/* Forget any pending SaveYourself plans we had */</span></td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (send_interact_done)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> SmcInteractDone (xsmp-&gt;connection, <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>if</span> (send_save_yourself_done)</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>True<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xsmp-&gt;state = send_save_yourself_done ? XSMP_STATE_SAVE_YOURSELF_DONE : XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"><span class='comment'>/* SM callbacks */</span></td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line">xsmp_save_yourself (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> SmPointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> <span class='keyword'>int</span> save_type,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> shutdown,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='keyword'>int</span> interact_style,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> fast)</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> gboolean wants_quit_requested;</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> g_debug (<span class='string_literal'>"Received SaveYourself(%s, %s, %s, %s) in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> save_type == <span class='macro'>SmSaveLocal<span class='macro_popup'>1</span></span> ? <span class='string_literal'>"SmSaveLocal"</span> :</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> save_type == <span class='macro'>SmSaveGlobal<span class='macro_popup'>0</span></span> ? <span class='string_literal'>"SmSaveGlobal"</span> : <span class='string_literal'>"SmSaveBoth"</span>,</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> shutdown ? <span class='string_literal'>"Shutdown"</span> : <span class='string_literal'>"!Shutdown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> interact_style == <span class='macro'>SmInteractStyleAny<span class='macro_popup'>2</span></span> ? <span class='string_literal'>"SmInteractStyleAny"</span> :</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> interact_style == <span class='macro'>SmInteractStyleErrors<span class='macro_popup'>1</span></span> ? <span class='string_literal'>"SmInteractStyleErrors"</span> :</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='string_literal'>"SmInteractStyleNone"</span>, fast ? <span class='string_literal'>"Fast"</span> : <span class='string_literal'>"!Fast"</span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state != XSMP_STATE_IDLE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> xsmp-&gt;state != XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> fix_broken_state (xsmp, <span class='string_literal'>"SaveYourself"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_set_initial_properties)</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> sm_client_xsmp_set_initial_properties (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> <span class='comment'>/* If this is the initial SaveYourself, ignore it; we've already set</span></td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='comment'>* properties and there's no reason to actually save state too.</span></td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;expecting_initial_save_yourself)</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> xsmp-&gt;expecting_initial_save_yourself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (save_type == <span class='macro'>SmSaveLocal<span class='macro_popup'>1</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> interact_style == <span class='macro'>SmInteractStyleNone<span class='macro_popup'>0</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> !shutdown &amp;&amp; !fast)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(True) for initial SaveYourself"</span>);</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>True<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='comment'>/* As explained in the comment at the end of</span></td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='comment'>* do_save_yourself(), SAVE_YOURSELF_DONE is the correct</span></td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> <span class='comment'>* state here, not IDLE.</span></td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> g_warning (<span class='string_literal'>"First SaveYourself was not the expected one!"</span>);</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='comment'>/* Even ignoring the "fast" flag completely, there are still 18</span></td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='comment'>* different combinations of save_type, shutdown and interact_style.</span></td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='comment'>* We interpret them as follows:</span></td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='comment'>* Type Shutdown Interact Interpretation</span></td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='comment'>* G F A/E/N do nothing (1)</span></td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> <span class='comment'>* G T N do nothing (1)*</span></td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='comment'>* G T A/E quit_requested (2)</span></td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> <span class='comment'>* L/B F A/E/N save_state (3)</span></td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> <span class='comment'>* L/B T N save_state (3)*</span></td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='comment'>* L/B T A/E quit_requested, then save_state (4)</span></td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='comment'>* 1. Do nothing, because the SM asked us to do something</span></td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> <span class='comment'>* uninteresting (save open files, but then don't quit</span></td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> <span class='comment'>* afterward) or rude (save open files without asking the user</span></td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='comment'>* for confirmation).</span></td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> <span class='comment'>* 2. Request interaction and then emit ::quit_requested. This</span></td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='comment'>* perhaps isn't quite correct for the SmInteractStyleErrors</span></td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> <span class='comment'>* case, but we don't care.</span></td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='comment'>* 3. Emit ::save_state. The SmSaveBoth SaveYourselfs in these</span></td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='comment'>* rows essentially get demoted to SmSaveLocal, because their</span></td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='comment'>* Global halves correspond to "do nothing".</span></td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> <span class='comment'>* 4. Request interaction, emit ::quit_requested, and then emit</span></td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='comment'>* ::save_state after interacting. This is the SmSaveBoth</span></td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='comment'>* equivalent of #2, but we also promote SmSaveLocal shutdown</span></td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='comment'>* SaveYourselfs to SmSaveBoth here, because we want to give</span></td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='comment'>* the user a chance to save open files before quitting.</span></td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> <span class='comment'>* (* It would be nice if we could do something useful when the</span></td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> <span class='comment'>* session manager sends a SaveYourself with shutdown True and</span></td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> <span class='comment'>* SmInteractStyleNone. But we can't, so we just pretend it didn't</span></td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='comment'>* even tell us it was shutting down. The docs for ::quit mention</span></td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> <span class='comment'>* that it might not always be preceded by ::quit_requested.)</span></td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='comment'>/* As an optimization, we don't actually request interaction and</span></td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='comment'>* emit ::quit_requested if the application isn't listening to the</span></td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='comment'>* signal.</span></td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> wants_quit_requested = g_signal_has_handler_pending (xsmp, g_signal_lookup (<span class='string_literal'>"quit_requested"</span>, <span class='macro'>EGG_TYPE_SM_CLIENT<span class='macro_popup'>(egg_sm_client_get_type ())</span></span>), 0, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> xsmp-&gt;need_save_state = (save_type != <span class='macro'>SmSaveGlobal<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> xsmp-&gt;need_quit_requested = (shutdown &amp;&amp; wants_quit_requested &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> interact_style != <span class='macro'>SmInteractStyleNone<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> xsmp-&gt;interact_errors = (interact_style == <span class='macro'>SmInteractStyleErrors<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> xsmp-&gt;shutting_down = shutdown;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> do_save_yourself (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line">do_save_yourself (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> <span class='comment'>/* The SM cancelled a previous SaveYourself, but we haven't yet</span></td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='comment'>* had a chance to tell the application, so we can't start</span></td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='comment'>* processing this SaveYourself yet.</span></td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;need_quit_requested)</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> xsmp-&gt;state = XSMP_STATE_INTERACT_REQUEST;</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> g_debug (<span class='string_literal'>"Sending InteractRequest(%s)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> xsmp-&gt;interact_errors ? <span class='string_literal'>"Error"</span> : <span class='string_literal'>"Normal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> SmcInteractRequest (xsmp-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> xsmp-&gt;interact_errors ? <span class='macro'>SmDialogError<span class='macro_popup'>0</span></span> : <span class='macro'>SmDialogNormal<span class='macro_popup'>1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> xsmp_interact,</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> xsmp);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;need_save_state)</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> save_state (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> <span class='comment'>/* Though unlikely, the client could have been disconnected</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> <span class='comment'>* while the application was saving its state.</span></td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(True)"</span>);</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>True<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='comment'>/* The client state diagram in the XSMP spec says that after a</span></td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='comment'>* non-shutdown SaveYourself, we go directly back to "idle". But</span></td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> <span class='comment'>* everything else in both the XSMP spec and the libSM docs</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* disagrees.</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line">save_state (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> GKeyFile *state_file;</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='keyword'>char</span> *state_file_path, *data;</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> EggDesktopFile *desktop_file;</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> GPtrArray *restart, *discard;</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='keyword'>int</span> offset, fd;</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>/* We set xsmp-&gt;state before emitting save_state, but our caller is</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> <span class='comment'>* responsible for setting it back afterward.</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF;</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> state_file = egg_sm_client_save_state ((EggSMClient *)xsmp);</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> <span class='keyword'>if</span> (!state_file)</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command, xsmp-&gt;client_id, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> ptrarray_prop (<span class='macro'>SmRestartCommand<span class='macro_popup'>"RestartCommand"</span></span>, restart),</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;set_discard_command)</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> discard = generate_command (xsmp-&gt;discard_command, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> ptrarray_prop (<span class='macro'>SmDiscardCommand<span class='macro_popup'>"DiscardCommand"</span></span>, discard),</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> g_ptr_array_free (discard, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> delete_properties (xsmp, <span class='macro'>SmDiscardCommand<span class='macro_popup'>"DiscardCommand"</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> desktop_file = egg_get_desktop_file ();</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> <span class='keyword'>if</span> (desktop_file)</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> GKeyFile *merged_file;</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='keyword'>char</span> *desktop_file_path;</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> merged_file = g_key_file_new ();</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> desktop_file_path =</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_filename_from_uri (egg_desktop_file_get_source (desktop_file),</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> <span class='keyword'>if</span> (desktop_file_path &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> g_key_file_load_from_file (merged_file, desktop_file_path,</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> G_KEY_FILE_KEEP_COMMENTS |</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> G_KEY_FILE_KEEP_TRANSLATIONS, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> guint g, k, i;</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> <span class='keyword'>char</span> **groups, **keys, *value, *exec;</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> groups = g_key_file_get_groups (state_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='keyword'>for</span> (g = 0; groups[g]; g++)</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> keys = g_key_file_get_keys (state_file, groups[g], <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='keyword'>for</span> (k = 0; keys[k]; k++)</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> value = g_key_file_get_value (state_file, groups[g],</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> keys[k], <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='keyword'>if</span> (value)</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> g_key_file_set_value (merged_file, groups[g],</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> keys[k], value);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> g_strfreev (keys);</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> g_strfreev (groups);</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> g_key_file_free (state_file);</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> state_file = merged_file;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> <span class='comment'>/* Update Exec key using "--sm-client-state-file %k" */</span></td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command,</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"%k"</span>);</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; restart-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> restart-&gt;pdata[i] = g_shell_quote (restart-&gt;pdata[i]);</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> g_ptr_array_add (restart, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> exec = g_strjoinv (<span class='string_literal'>" "</span>, (<span class='keyword'>char</span> **)restart-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> g_strfreev ((<span class='keyword'>char</span> **)restart-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> g_key_file_set_string (state_file, <span class='macro'>EGG_DESKTOP_FILE_GROUP<span class='macro_popup'>"Desktop Entry"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> <span class='macro'>EGG_DESKTOP_FILE_KEY_EXEC<span class='macro_popup'>"Exec"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> exec);</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_free (exec);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> desktop_file = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> g_free (desktop_file_path);</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> <span class='comment'>/* Now write state_file to disk. (We can't use mktemp(), because</span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> <span class='comment'>* that requires the filename to end with "XXXXXX", and we want</span></td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='comment'>* it to end with ".desktop".)</span></td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> data = g_key_file_to_data (state_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> g_key_file_free (state_file);</td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> offset = 0;</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> <span class='keyword'>while</span> (1)</td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> state_file_path = g_strdup_printf (<span class='string_literal'>"%s%csession-state%c%s-%ld.%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> g_get_user_config_dir (),</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>, <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> g_get_prgname (),</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> (<span class='keyword'>long</span>)time (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) + offset,</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> desktop_file ? <span class='string_literal'>"desktop"</span> : <span class='string_literal'>"state"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> fd = open (state_file_path, <span class='macro'>O_WRONLY<span class='macro_popup'>01</span></span> | <span class='macro'>O_CREAT<span class='macro_popup'>0100</span></span> | <span class='macro'>O_EXCL<span class='macro_popup'>0200</span></span>, 0644);</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> <span class='keyword'>if</span> (fd == -1)</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EEXIST<span class='macro_popup'>17</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> offset++;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>ENOTDIR<span class='macro_popup'>20</span></span> || <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>ENOENT<span class='macro_popup'>2</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>char</span> *sep = strrchr (state_file_path, <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> *sep = '\0';</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>if</span> (g_mkdir_with_parents (state_file_path, 0755) != 0)</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> g_warning (<span class='string_literal'>"Could not create directory '%s'"</span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> state_file_path = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> g_warning (<span class='string_literal'>"Could not create file '%s': %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> state_file_path, g_strerror (<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> state_file_path = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> close (fd);</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> g_file_set_contents (state_file_path, data, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> g_free (data);</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command, xsmp-&gt;client_id,</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> ptrarray_prop (<span class='macro'>SmRestartCommand<span class='macro_popup'>"RestartCommand"</span></span>, restart),</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>if</span> (state_file_path)</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> array_prop (<span class='macro'>SmDiscardCommand<span class='macro_popup'>"DiscardCommand"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> <span class='string_literal'>"/bin/rm"</span>, <span class='string_literal'>"-rf"</span>, state_file_path,</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line">xsmp_interact (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> EggSMClient *client = client_data;</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> g_debug (<span class='string_literal'>"Received Interact message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state != XSMP_STATE_INTERACT_REQUEST)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> fix_broken_state (xsmp, <span class='string_literal'>"Interact"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xsmp-&gt;state = XSMP_STATE_INTERACT;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> egg_sm_client_quit_requested (client);</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line">xsmp_die (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> EggSMClient *client = client_data;</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> g_debug (<span class='string_literal'>"Received Die message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> sm_client_xsmp_disconnect (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> egg_sm_client_quit (client);</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line">xsmp_save_complete (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> g_debug (<span class='string_literal'>"Received SaveComplete message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SAVE_YOURSELF_DONE)</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> fix_broken_state (xsmp, <span class='string_literal'>"SaveComplete"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line">xsmp_shutdown_cancelled (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> EggSMClient *client = client_data;</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> g_debug (<span class='string_literal'>"Received ShutdownCancelled message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> xsmp-&gt;shutting_down = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SAVE_YOURSELF_DONE)</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='comment'>/* We've finished interacting and now the SM has agreed to</span></td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='comment'>* cancel the shutdown.</span></td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> egg_sm_client_quit_cancelled (client);</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> <span class='comment'>/* Hm... ok, so we got a shutdown SaveYourself, which got</span></td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='comment'>* cancelled, but the application was still interacting, so we</span></td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='comment'>* didn't tell it yet, and then *another* SaveYourself arrived,</span></td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='comment'>* which we must still be waiting to tell the app about, except</span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>* that now that SaveYourself has been cancelled too! Dizzy yet?</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(False)"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_INTERACT)</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='comment'>/* The application is currently interacting, so we can't</span></td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='comment'>* tell it about the cancellation yet; we will wait until</span></td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='comment'>* after it calls egg_sm_client_will_quit().</span></td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SHUTDOWN_CANCELLED;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> <span class='comment'>/* The shutdown was cancelled before the application got a</span></td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> <span class='comment'>* chance to interact.</span></td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"><span class='comment'>/* Utilities */</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='comment'>/* Create a restart/clone/Exec command based on @restart_command.</span></td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> <span class='comment'>* If @client_id is non-%NULL, add "--sm-client-id @client_id".</span></td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> <span class='comment'>* If @state_file is non-%NULL, add "--sm-client-state-file @state_file".</span></td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='comment'>* None of the input strings are g_strdup()ed; the caller must keep</span></td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> <span class='comment'>* them around until it is done with the returned GPtrArray, and must</span></td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='comment'>* then free the array, but not its contents.</span></td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"><span class='keyword'>static</span> GPtrArray *</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line">generate_command (<span class='keyword'>char</span> **restart_command, <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id,</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *state_file)</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> GPtrArray *cmd;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> cmd = g_ptr_array_new ();</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> g_ptr_array_add (cmd, restart_command[0]);</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> <span class='keyword'>if</span> (client_id)</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)<span class='string_literal'>"--sm-client-id"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)client_id);</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> <span class='keyword'>if</span> (state_file)</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)<span class='string_literal'>"--sm-client-state-file"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)state_file);</td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='keyword'>for</span> (i = 1; restart_command[i]; i++)</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> g_ptr_array_add (cmd, restart_command[i]);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> <span class='keyword'>return</span> cmd;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='comment'>/* Takes a NULL-terminated list of SmProp * values, created by</span></td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> <span class='comment'>* array_prop, ptrarray_prop, string_prop, card8_prop, sets them, and</span></td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='comment'>* frees them.</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line">set_properties (EggSMClientXSMP *xsmp, ...)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> GPtrArray *props;</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> va_list ap;</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> props = g_ptr_array_new ();</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> <span class='macro'>va_start (ap, xsmp)<span class='macro_popup'>__builtin_va_start(ap, xsmp)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>while</span> ((prop = <span class='macro'>va_arg (ap, SmProp *)<span class='macro_popup'>__builtin_va_arg(ap, SmProp *)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> g_ptr_array_add (props, prop);</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='macro'>va_end (ap)<span class='macro_popup'>__builtin_va_end(ap)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> SmcSetProperties (xsmp-&gt;connection, props-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> (SmProp **)props-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; props-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> prop = props-&gt;pdata[i];</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> g_free (prop-&gt;vals);</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> g_free (prop);</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> g_ptr_array_free (props, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"><span class='comment'>/* Takes a NULL-terminated list of property names and deletes them. */</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line">delete_properties (EggSMClientXSMP *xsmp, ...)</td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> GPtrArray *props;</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>char</span> *prop;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> va_list ap;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> props = g_ptr_array_new ();</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='macro'>va_start (ap, xsmp)<span class='macro_popup'>__builtin_va_start(ap, xsmp)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> <span class='keyword'>while</span> ((prop = <span class='macro'>va_arg (ap, <span class='keyword'>char</span> *)<span class='macro_popup'>__builtin_va_arg(ap, char *)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> g_ptr_array_add (props, prop);</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='macro'>va_end (ap)<span class='macro_popup'>__builtin_va_end(ap)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> SmcDeleteProperties (xsmp-&gt;connection, props-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> (<span class='keyword'>char</span> **)props-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> g_ptr_array_free (props, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"><span class='comment'>/* Takes an array of strings and creates a LISTofARRAY8 property. The</span></td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> <span class='comment'>* strings are neither dupped nor freed; they need to remain valid</span></td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> <span class='comment'>* until you're done with the SmProp.</span></td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line">array_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, ...)</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> SmPropValue pv;</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> GArray *vals;</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> va_list ap;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmLISTofARRAY8<span class='macro_popup'>"LISTofARRAY8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> vals = g_array_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='keyword'>sizeof</span> (SmPropValue));</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> <span class='macro'>va_start (ap, name)<span class='macro_popup'>__builtin_va_start(ap, name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='keyword'>while</span> ((value = <span class='macro'>va_arg (ap, <span class='keyword'>char</span> *)<span class='macro_popup'>__builtin_va_arg(ap, char *)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> pv.length = strlen (value);</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> pv.value = value;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> <span class='macro'>g_array_append_val (vals, pv)<span class='macro_popup'>g_array_append_vals (vals, &amp;(pv), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> <span class='macro'>va_end (ap)<span class='macro_popup'>__builtin_va_end(ap)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> prop-&gt;num_vals = vals-&gt;len;</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> prop-&gt;vals = <span class="mrange"><span class="mrange">(SmPropValue *)vals-&gt;data</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:18ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> g_array_free (vals, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"><span class='comment'>/* Takes a GPtrArray of strings and creates a LISTofARRAY8 property.</span></td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='comment'>* The array contents are neither dupped nor freed; they need to</span></td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='comment'>* remain valid until you're done with the SmProp.</span></td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line">ptrarray_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, GPtrArray *values)</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> SmPropValue pv;</td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> GArray *vals;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmLISTofARRAY8<span class='macro_popup'>"LISTofARRAY8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> vals = g_array_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='keyword'>sizeof</span> (SmPropValue));</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; values-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> pv.length = strlen (values-&gt;pdata[i]);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> pv.value = values-&gt;pdata[i];</td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='macro'>g_array_append_val (vals, pv)<span class='macro_popup'>g_array_append_vals (vals, &amp;(pv), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"> prop-&gt;num_vals = vals-&gt;len;</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> prop-&gt;vals = (SmPropValue *)vals-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> g_array_free (vals, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"><span class='comment'>/* Takes a string and creates an ARRAY8 property. The string is</span></td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> <span class='comment'>* neither dupped nor freed; it needs to remain valid until you're</span></td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='comment'>* done with the SmProp.</span></td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line">string_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, <span class='keyword'>const</span> <span class='keyword'>char</span> *value)</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmARRAY8<span class='macro_popup'>"ARRAY8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> prop-&gt;num_vals = 1;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> prop-&gt;vals = <span class='macro'>g_new (SmPropValue, 1)<span class='macro_popup'>((SmPropValue *) g_malloc_n ((1), sizeof (SmPropValue)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> prop-&gt;vals[0].length = strlen (value);</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> prop-&gt;vals[0].value = (<span class='keyword'>char</span> *)value;</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"><span class='comment'>/* Takes a char and creates a CARD8 property. */</span></td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line">card8_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, <span class='keyword'>unsigned</span> <span class='keyword'>char</span> value)</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='keyword'>char</span> *card8val;</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>/* To avoid having to allocate and free prop-&gt;vals[0], we cheat and</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* make vals a 2-element-long array and then use the second element</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>* to store value.</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmCARD8<span class='macro_popup'>"CARD8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> prop-&gt;num_vals = 1;</td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> prop-&gt;vals = <span class='macro'>g_new (SmPropValue, 2)<span class='macro_popup'>((SmPropValue *) g_malloc_n ((2), sizeof (SmPropValue)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> card8val = (<span class='keyword'>char</span> *)(&amp;prop-&gt;vals[1]);</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> card8val[0] = value;</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> prop-&gt;vals[0].length = 1;</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> prop-&gt;vals[0].value = card8val;</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"><span class='comment'>/* ICE code. This makes no effort to play nice with anyone else trying</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='comment'>* to use libICE. Fortunately, no one uses libICE for anything other</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='comment'>* than SM. (DCOP uses ICE, but it has its own private copy of</span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='comment'>* libICE.)</span></td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='comment'>* When this moves to gtk, it will need to be cleverer, to avoid</span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='comment'>* tripping over old apps that use MateClient or that use libSM</span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='comment'>* directly.</span></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"><span class='directive'>#include &lt;X11/ICE/ICElib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_error_handler (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> IcePointer values);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_io_error_handler (IceConn ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_connection_watch (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> IcePointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> opening,</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> IcePointer *watch_data);</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line">ice_init (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> IceSetIOErrorHandler (ice_io_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> IceSetErrorHandler (ice_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> IceAddConnectionWatch (ice_connection_watch, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line">process_ice_messages (IceConn ice_conn)</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> IceProcessMessagesStatus status;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> status = IceProcessMessages (ice_conn, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>switch</span> (status)</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> <span class='keyword'>case</span> IceProcessMessagesSuccess:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='keyword'>case</span> IceProcessMessagesIOError:</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> sm_client_xsmp_disconnect (IceGetConnectionContext (ice_conn));</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='keyword'>case</span> IceProcessMessagesConnectionClosed:</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("EggSMClient", "eggsmclient-xsmp.c"<br>, 1341, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line">ice_iochannel_watch (GIOChannel *channel,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> GIOCondition condition,</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gpointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>return</span> process_ice_messages (client_data);</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line">ice_connection_watch (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> IcePointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> opening,</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> IcePointer *watch_data)</td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> guint watch_id;</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>if</span> (opening)</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> GIOChannel *channel;</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='keyword'>int</span> fd = IceConnectionNumber (ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> fcntl (fd, <span class='macro'>F_SETFD<span class='macro_popup'>2</span></span>, fcntl (fd, <span class='macro'>F_GETFD<span class='macro_popup'>1</span></span>, 0) | <span class='macro'>FD_CLOEXEC<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> channel = g_io_channel_unix_new (fd);</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> watch_id = g_io_add_watch (channel, G_IO_IN | G_IO_ERR,</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> ice_iochannel_watch, ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> g_io_channel_unref (channel);</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> *watch_data = <span class='macro'>GUINT_TO_POINTER (watch_id)<span class='macro_popup'>((gpointer) (gulong) (watch_id))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> watch_id = <span class='macro'>GPOINTER_TO_UINT (*watch_data)<span class='macro_popup'>((guint) (gulong) (*watch_data))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> g_source_remove (watch_id);</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line">ice_error_handler (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> IcePointer values)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='comment'>/* Do nothing */</span></td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line">ice_io_error_handler (IceConn ice_conn)</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> <span class='comment'>/* Do nothing */</span></td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line">smc_error_handler (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> SmPointer values)</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='comment'>/* Do nothing */</span></td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-cf3974.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-cf3974.html
new file mode 100644
index 00000000..6041bd9d
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-cf3974.html
@@ -0,0 +1,2089 @@
+<!doctype html>
+<html>
+<head>
+<title>eggsmclient-xsmp.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/mate-submodules/libegg/eggsmclient-xsmp.c -->
+
+<!-- FILENAME eggsmclient-xsmp.c -->
+
+<!-- FUNCTIONNAME ptrarray_prop -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT cf3974848df4dca833dffd0d8abcacb0 -->
+
+<!-- BUGLINE 1232 -->
+
+<!-- BUGCOLUMN 18 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/mate-submodules/libegg/eggsmclient-xsmp.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 1232, column 18</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name eggsmclient-xsmp.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel/mate-submodules/libegg -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../../.. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D EGG_SM_CLIENT_BACKEND_XSMP -D G_LOG_DOMAIN="EggSMClient" -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel/mate-submodules/libegg -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c eggsmclient-xsmp.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"1232": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* Copyright (C) 2007 Novell, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Inspired by various other pieces of code including GsmClient (C)</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* 2001 Havoc Pennington, MateClient (C) 1998 Carsten Schaar, and twm</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* session code (C) 1998 The Open Group.</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include "config.h"</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include "eggsmclient.h"</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include "eggsmclient-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include "eggdesktopfile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;X11/SM/SMlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#if defined(GDK_WINDOWING_X11) || defined(<span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_TYPE_SM_CLIENT_XSMP<span class='macro_popup'>(egg_sm_client_xsmp_get_type ())</span></span> (egg_sm_client_xsmp_get_type ())</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP(obj)<span class='macro_popup'>((((EggSMClientXSMP*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((obj)), ((egg_sm_client_xsmp_get_type ()))))))</span></span> (<span class='macro'>G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMP)<span class='macro_popup'>(((EggSMClientXSMP*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((obj)), ((egg_sm_client_xsmp_get_type ())))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP_CLASS(klass)<span class='macro_popup'>((((EggSMClientXSMPClass*) (void *) g_type_check_class_cast (<br>(GTypeClass*) ((klass)), ((egg_sm_client_xsmp_get_type ()))))<br>))</span></span> (<span class='macro'>G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)<span class='macro_popup'>(((EggSMClientXSMPClass*) (void *) g_type_check_class_cast ((<br>GTypeClass*) ((klass)), ((egg_sm_client_xsmp_get_type ())))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_IS_SM_CLIENT_XSMP(obj)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(obj)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span> (<span class='macro'>G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_XSMP)<span class='macro_popup'>((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(obj)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_IS_SM_CLIENT_XSMP_CLASS(klass)<span class='macro_popup'>(((__extension__ ({ GTypeClass *__class = (GTypeClass*) ((klass<br>)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean __r<br>; if (!__class) __r = (0); else if (__class-&gt;g_type == __t<br>) __r = (!(0)); else __r = g_type_check_class_is_a (__class, __t<br>); __r; }))))</span></span> (<span class='macro'>G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_XSMP)<span class='macro_popup'>((__extension__ ({ GTypeClass *__class = (GTypeClass*) ((klass<br>)); GType __t = ((egg_sm_client_xsmp_get_type ())); gboolean __r<br>; if (!__class) __r = (0); else if (__class-&gt;g_type == __t<br>) __r = (!(0)); else __r = g_type_check_class_is_a (__class, __t<br>); __r; })))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP_GET_CLASS(obj)<span class='macro_popup'>((((EggSMClientXSMPClass*) (((GTypeInstance*) ((obj)))-&gt;g_class<br>))))</span></span> (<span class='macro'>G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)<span class='macro_popup'>(((EggSMClientXSMPClass*) (((GTypeInstance*) ((obj)))-&gt;g_class<br>)))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> _EggSMClientXSMP EggSMClientXSMP;</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> _EggSMClientXSMPClass EggSMClientXSMPClass;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='comment'>/* These mostly correspond to the similarly-named states in section</span></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='comment'>* 9.1 of the XSMP spec. Some of the states there aren't represented</span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='comment'>* here, because we don't need them. SHUTDOWN_CANCELLED is slightly</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> <span class='comment'>* different from the spec; we use it when the client is IDLE after a</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='comment'>* ShutdownCancelled message, but the application is still interacting</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='comment'>* and doesn't know the shutdown has been cancelled yet.</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> XSMP_STATE_IDLE,</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> XSMP_STATE_SAVE_YOURSELF,</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> XSMP_STATE_INTERACT_REQUEST,</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> XSMP_STATE_INTERACT,</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> XSMP_STATE_SAVE_YOURSELF_DONE,</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> XSMP_STATE_SHUTDOWN_CANCELLED,</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> XSMP_STATE_CONNECTION_CLOSED</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line">} EggSMClientXSMPState;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> *state_names[] =</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='string_literal'>"idle"</span>,</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='string_literal'>"save-yourself"</span>,</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='string_literal'>"interact-request"</span>,</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> <span class='string_literal'>"interact"</span>,</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='string_literal'>"save-yourself-done"</span>,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='string_literal'>"shutdown-cancelled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='string_literal'>"connection-closed"</span></td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"><span class='directive'>#define <span class='macro'>EGG_SM_CLIENT_XSMP_STATE(xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span> (state_names[(xsmp)-&gt;state])</span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"><span class='keyword'>struct</span> _EggSMClientXSMP</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> EggSMClient parent;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> SmcConn connection;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>char</span> *client_id;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> EggSMClientXSMPState state;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>char</span> **restart_command;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> gboolean set_restart_command;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>int</span> restart_style;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>char</span> **discard_command;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> gboolean set_discard_command;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> guint idle;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='comment'>/* Current SaveYourself state */</span></td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> guint expecting_initial_save_yourself : 1;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> guint need_save_state : 1;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> guint need_quit_requested : 1;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> guint interact_errors : 1;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> guint shutting_down : 1;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='comment'>/* Todo list */</span></td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> guint waiting_to_set_initial_properties : 1;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> guint waiting_to_emit_quit : 1;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> guint waiting_to_emit_quit_cancelled : 1;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> guint waiting_to_save_myself : 1;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>struct</span> _EggSMClientXSMPClass</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> EggSMClientClass parent_class;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_startup (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_set_restart_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv);</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_set_discard_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv);</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> sm_client_xsmp_will_quit (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> gboolean will_quit);</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"><span class='keyword'>static</span> gboolean sm_client_xsmp_end_session (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> EggSMClientEndStyle style,</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean request_confirmation);</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_save_yourself (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> SmPointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>int</span> save_style,</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> shutdown,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> interact_style,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> fast);</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_die (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_save_complete (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_shutdown_cancelled (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> xsmp_interact (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> SmPointer client_data);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"><span class='keyword'>static</span> SmProp *array_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> ...);</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"><span class='keyword'>static</span> SmProp *ptrarray_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> GPtrArray *values);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> SmProp *string_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *value);</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='keyword'>static</span> SmProp *card8_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>char</span> value);</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> set_properties (EggSMClientXSMP *xsmp, ...);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> delete_properties (EggSMClientXSMP *xsmp, ...);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"><span class='keyword'>static</span> GPtrArray *generate_command (<span class='keyword'>char</span> **restart_command,</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id,</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *state_file);</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> save_state (EggSMClientXSMP *xsmp);</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> do_save_yourself (EggSMClientXSMP *xsmp);</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> update_pending_events (EggSMClientXSMP *xsmp);</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_init (<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"><span class='keyword'>static</span> gboolean process_ice_messages (IceConn ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> smc_error_handler (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> SmPointer values);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"><span class='macro'>G_DEFINE_TYPE (EggSMClientXSMP, egg_sm_client_xsmp, EGG_TYPE_SM_CLIENT)<span class='macro_popup'>static void egg_sm_client_xsmp_init (EggSMClientXSMP *self); static<br> void egg_sm_client_xsmp_class_init (EggSMClientXSMPClass *klass<br>); static GType egg_sm_client_xsmp_get_type_once (void); static<br> gpointer egg_sm_client_xsmp_parent_class = ((void*)0); static<br> gint EggSMClientXSMP_private_offset; static void egg_sm_client_xsmp_class_intern_init<br> (gpointer klass) { egg_sm_client_xsmp_parent_class = g_type_class_peek_parent<br> (klass); if (EggSMClientXSMP_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;EggSMClientXSMP_private_offset); egg_sm_client_xsmp_class_init<br> ((EggSMClientXSMPClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer egg_sm_client_xsmp_get_instance_private<br> (EggSMClientXSMP *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (EggSMClientXSMP_private_offset)))); } GType egg_sm_client_xsmp_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = egg_sm_client_xsmp_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType egg_sm_client_xsmp_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((egg_sm_client_get_type ()), g_intern_static_string ("EggSMClientXSMP"<br>), sizeof (EggSMClientXSMPClass), (GClassInitFunc)(void (*)(void<br>)) egg_sm_client_xsmp_class_intern_init, sizeof (EggSMClientXSMP<br>), (GInstanceInitFunc)(void (*)(void)) egg_sm_client_xsmp_init<br>, (GTypeFlags) 0); { {{};} } return g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line">egg_sm_client_xsmp_init (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> xsmp-&gt;state = XSMP_STATE_CONNECTION_CLOSED;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> xsmp-&gt;connection = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> xsmp-&gt;restart_style = <span class='macro'>SmRestartIfRunning<span class='macro_popup'>0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line">egg_sm_client_xsmp_class_init (EggSMClientXSMPClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass);</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> sm_client_class-&gt;startup = sm_client_xsmp_startup;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> sm_client_class-&gt;set_restart_command = sm_client_xsmp_set_restart_command;</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> sm_client_class-&gt;set_discard_command = sm_client_xsmp_set_discard_command;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> sm_client_class-&gt;will_quit = sm_client_xsmp_will_quit;</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> sm_client_class-&gt;end_session = sm_client_xsmp_end_session;</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">EggSMClient *</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line">egg_sm_client_xsmp_new (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='keyword'>if</span> (!g_getenv (<span class='string_literal'>"SESSION_MANAGER"</span>))</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> <span class='keyword'>return</span> g_object_new (<span class='macro'>EGG_TYPE_SM_CLIENT_XSMP<span class='macro_popup'>(egg_sm_client_xsmp_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line">sm_client_xsmp_set_initial_properties (gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> EggSMClientXSMP *xsmp = user_data;</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> EggDesktopFile *desktop_file;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> GPtrArray *clone, *restart;</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> <span class='keyword'>char</span> pid_str[64];</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;idle)</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> g_source_remove (xsmp-&gt;idle);</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> xsmp-&gt;idle = 0;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> xsmp-&gt;waiting_to_set_initial_properties = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> <span class='keyword'>if</span> (egg_sm_client_get_mode () == EGG_SM_CLIENT_MODE_NO_RESTART)</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> xsmp-&gt;restart_style = <span class='macro'>SmRestartNever<span class='macro_popup'>3</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> <span class='comment'>/* Parse info out of desktop file */</span></td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> desktop_file = egg_get_desktop_file ();</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>if</span> (desktop_file)</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> GError *err = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> <span class='keyword'>char</span> **argv;</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='keyword'>int</span> argc;</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;restart_style == <span class='macro'>SmRestartIfRunning<span class='macro_popup'>0</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>if</span> (egg_desktop_file_get_boolean (desktop_file,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> <span class='string_literal'>"X-MATE-AutoRestart"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> xsmp-&gt;restart_style = <span class='macro'>SmRestartImmediately<span class='macro_popup'>2</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;set_restart_command)</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> <span class='keyword'>char</span> *cmdline;</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> cmdline = egg_desktop_file_parse_exec (desktop_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;err);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> <span class='keyword'>if</span> (cmdline &amp;&amp; g_shell_parse_argv (cmdline, &amp;argc, &amp;argv, &amp;err))</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> egg_sm_client_set_restart_command (EGG_SM_CLIENT (xsmp),</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> argc, (<span class='keyword'>const</span> <span class='keyword'>char</span> **)argv);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> g_warning (<span class='string_literal'>"Could not parse Exec line in desktop file: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> err-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> g_error_free (err);</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> g_free (cmdline);</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;set_restart_command)</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> xsmp-&gt;restart_command = g_strsplit (g_get_prgname (), <span class='string_literal'>" "</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> clone = generate_command (xsmp-&gt;restart_command, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command, xsmp-&gt;client_id, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> g_debug (<span class='string_literal'>"Setting initial properties"</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> <span class='comment'>/* Program, CloneCommand, RestartCommand, and UserID are required.</span></td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> <span class='comment'>* ProcessID isn't required, but the SM may be able to do something</span></td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> <span class='comment'>* useful with it.</span></td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> g_snprintf (pid_str, <span class='keyword'>sizeof</span> (pid_str), <span class='string_literal'>"%lu"</span>, (gulong) getpid ());</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> string_prop (<span class='macro'>SmProgram<span class='macro_popup'>"Program"</span></span>, g_get_prgname ()),</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> ptrarray_prop (<span class='macro'>SmCloneCommand<span class='macro_popup'>"CloneCommand"</span></span>, clone),</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> ptrarray_prop (<span class='macro'>SmRestartCommand<span class='macro_popup'>"RestartCommand"</span></span>, restart),</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> string_prop (<span class='macro'>SmUserID<span class='macro_popup'>"UserID"</span></span>, g_get_user_name ()),</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> string_prop (<span class='macro'>SmProcessID<span class='macro_popup'>"ProcessID"</span></span>, pid_str),</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> card8_prop (<span class='macro'>SmRestartStyleHint<span class='macro_popup'>"RestartStyleHint"</span></span>, xsmp-&gt;restart_style),</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> g_ptr_array_free (clone, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>if</span> (desktop_file)</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> string_prop (<span class='string_literal'>"_GSM_DesktopFile"</span>, egg_desktop_file_get_source (desktop_file)),</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='comment'>/* This gets called from two different places: xsmp_die() (when the</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='comment'>* server asks us to disconnect) and process_ice_messages() (when the</span></td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='comment'>* server disconnects unexpectedly).</span></td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">sm_client_xsmp_disconnect (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> SmcConn connection;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> g_debug (<span class='string_literal'>"Disconnecting"</span>);</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> connection = xsmp-&gt;connection;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> xsmp-&gt;connection = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> SmcCloseConnection (connection, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> xsmp-&gt;state = XSMP_STATE_CONNECTION_CLOSED;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line">sm_client_xsmp_startup (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id)</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> SmcCallbacks callbacks;</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> <span class='keyword'>char</span> *ret_client_id;</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>char</span> error_string_ret[256];</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> xsmp-&gt;client_id = <span class='macro'>g_strdup (client_id)<span class='macro_popup'>g_strdup_inline (client_id)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> ice_init ();</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> SmcSetErrorHandler (smc_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> callbacks.save_yourself.callback = xsmp_save_yourself;</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> callbacks.die.callback = xsmp_die;</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> callbacks.save_complete.callback = xsmp_save_complete;</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> callbacks.shutdown_cancelled.callback = xsmp_shutdown_cancelled;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> callbacks.save_yourself.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> callbacks.die.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> callbacks.save_complete.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> callbacks.shutdown_cancelled.client_data = xsmp;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> client_id = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> error_string_ret[0] = '\0';</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> xsmp-&gt;connection =</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> SmcOpenConnection (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, xsmp, <span class='macro'>SmProtoMajor<span class='macro_popup'>1</span></span>, <span class='macro'>SmProtoMinor<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='macro'>SmcSaveYourselfProcMask<span class='macro_popup'>(1L &lt;&lt; 0)</span></span> | <span class='macro'>SmcDieProcMask<span class='macro_popup'>(1L &lt;&lt; 1)</span></span> |</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='macro'>SmcSaveCompleteProcMask<span class='macro_popup'>(1L &lt;&lt; 2)</span></span> |</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='macro'>SmcShutdownCancelledProcMask<span class='macro_popup'>(1L &lt;&lt; 3)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> &amp;callbacks,</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> xsmp-&gt;client_id, &amp;ret_client_id,</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>sizeof</span> (error_string_ret), error_string_ret);</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> g_warning (<span class='string_literal'>"Failed to connect to the session manager: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> error_string_ret[0] ?</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> error_string_ret : <span class='string_literal'>"no error message given"</span>);</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> xsmp-&gt;state = XSMP_STATE_CONNECTION_CLOSED;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='comment'>/* We expect a pointless initial SaveYourself if either (a) we</span></td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='comment'>* didn't have an initial client ID, or (b) we DID have an initial</span></td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='comment'>* client ID, but the server rejected it and gave us a new one.</span></td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;client_id ||</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> (ret_client_id &amp;&amp; strcmp (xsmp-&gt;client_id, ret_client_id) != 0))</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> xsmp-&gt;expecting_initial_save_yourself = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> <span class='keyword'>if</span> (ret_client_id)</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> g_free (xsmp-&gt;client_id);</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> xsmp-&gt;client_id = <span class='macro'>g_strdup (ret_client_id)<span class='macro_popup'>g_strdup_inline (ret_client_id)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> free (ret_client_id);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"><span class='directive'>#if defined(GDK_WINDOWING_X11) || defined(<span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> gdk_x11_set_sm_client_id (xsmp-&gt;client_id);</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> g_debug (<span class='string_literal'>"Got client ID \"%s\""</span>, xsmp-&gt;client_id);</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='comment'>/* Do not set the initial properties until we reach the main loop,</span></td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='comment'>* so that the application has a chance to call</span></td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> <span class='comment'>* egg_set_desktop_file(). (This may also help the session manager</span></td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='comment'>* have a better idea of when the application is fully up and</span></td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='comment'>* running.)</span></td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> xsmp-&gt;waiting_to_set_initial_properties = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> xsmp-&gt;idle = g_idle_add (sm_client_xsmp_set_initial_properties, client);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">sm_client_xsmp_set_restart_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> g_strfreev (xsmp-&gt;restart_command);</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> xsmp-&gt;restart_command = <span class='macro'>g_new (<span class='keyword'>char</span> *, argc + 1)<span class='macro_popup'>((char * *) g_malloc_n ((argc + 1), sizeof (char *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; argc; i++)</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> xsmp-&gt;restart_command[i] = <span class='macro'>g_strdup (argv[i])<span class='macro_popup'>g_strdup_inline (argv[i])</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> xsmp-&gt;restart_command[i] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> xsmp-&gt;set_restart_command = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line">sm_client_xsmp_set_discard_command (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> <span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_strfreev (xsmp-&gt;discard_command);</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> xsmp-&gt;discard_command = <span class='macro'>g_new (<span class='keyword'>char</span> *, argc + 1)<span class='macro_popup'>((char * *) g_malloc_n ((argc + 1), sizeof (char *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; argc; i++)</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> xsmp-&gt;discard_command[i] = <span class='macro'>g_strdup (argv[i])<span class='macro_popup'>g_strdup_inline (argv[i])</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> xsmp-&gt;discard_command[i] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> xsmp-&gt;set_discard_command = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line">sm_client_xsmp_will_quit (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> gboolean will_quit)</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_CONNECTION_CLOSED)</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='comment'>/* The session manager has already exited! Schedule a quit</span></td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='comment'>* signal.</span></td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> xsmp-&gt;waiting_to_emit_quit = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='comment'>/* We received a ShutdownCancelled message while the application</span></td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='comment'>* was interacting; Schedule a quit_cancelled signal.</span></td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> xsmp-&gt;waiting_to_emit_quit_cancelled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='macro'>g_return_if_fail (xsmp-&gt;state == XSMP_STATE_INTERACT)<span class='macro_popup'>do { if ((xsmp-&gt;state == XSMP_STATE_INTERACT)) { } else { g_return_if_fail_warning<br> ("EggSMClient", ((const char*) (__func__)), "xsmp-&gt;state == XSMP_STATE_INTERACT"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> g_debug (<span class='string_literal'>"Sending InteractDone(%s)"</span>, will_quit ? <span class='string_literal'>"False"</span> : <span class='string_literal'>"True"</span>);</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> SmcInteractDone (xsmp-&gt;connection, !will_quit);</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> <span class='keyword'>if</span> (will_quit &amp;&amp; xsmp-&gt;need_save_state)</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> save_state (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(%s)"</span>, will_quit ? <span class='string_literal'>"True"</span> : <span class='string_literal'>"False"</span>);</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, will_quit);</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line">sm_client_xsmp_end_session (EggSMClient *client,</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> EggSMClientEndStyle style,</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> gboolean request_confirmation)</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client;</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>int</span> save_type;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='comment'>/* To end the session via XSMP, we have to send a</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>* SaveYourselfRequest. We aren't allowed to do that if anything</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='comment'>* else is going on, but we don't want to expose this fact to the</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> <span class='comment'>* application. So we do our best to patch things up here...</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> <span class='comment'>* In the worst case, this method might block for some length of</span></td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>* time in process_ice_messages, but the only time that code path is</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='comment'>* honestly likely to get hit is if the application tries to end the</span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='comment'>* session as the very first thing it does, in which case it</span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='comment'>* probably won't actually block anyway. It's not worth gunking up</span></td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> <span class='comment'>* the API to try to deal nicely with the other 0.01% of cases where</span></td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='comment'>* this happens.</span></td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>while</span> (xsmp-&gt;state != XSMP_STATE_IDLE ||</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> xsmp-&gt;expecting_initial_save_yourself)</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='comment'>/* If we're already shutting down, we don't need to do anything. */</span></td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;shutting_down)</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='keyword'>switch</span> (xsmp-&gt;state)</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_CONNECTION_CLOSED:</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_SAVE_YOURSELF:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> <span class='comment'>/* Trying to log out from the save_state callback? Whatever.</span></td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='comment'>* Abort the save_state.</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_INTERACT_REQUEST:</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_INTERACT:</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_SHUTDOWN_CANCELLED:</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> <span class='comment'>/* Already in a shutdown-related state, just ignore</span></td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='comment'>* the new shutdown request...</span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_IDLE:</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_set_initial_properties)</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> sm_client_xsmp_set_initial_properties (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;expecting_initial_save_yourself)</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> <span class='comment'>/* else fall through */</span></td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>case</span> XSMP_STATE_SAVE_YOURSELF_DONE:</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='comment'>/* We need to wait for some response from the server.*/</span></td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> process_ice_messages (SmcGetIceConnection (xsmp-&gt;connection));</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='comment'>/* Hm... shouldn't happen */</span></td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='comment'>/* xfce4-session will do the wrong thing if we pass SmSaveGlobal and</span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='comment'>* the user chooses to save the session. But mate-session will do</span></td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='comment'>* the wrong thing if we pass SmSaveBoth and the user chooses NOT to</span></td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='comment'>* save the session... Sigh.</span></td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='keyword'>if</span> (!strcmp (SmcVendor (xsmp-&gt;connection), <span class='string_literal'>"xfce4-session"</span>))</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> save_type = <span class='macro'>SmSaveBoth<span class='macro_popup'>2</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> save_type = <span class='macro'>SmSaveGlobal<span class='macro_popup'>0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfRequest(SmSaveGlobal, Shutdown, SmInteractStyleAny, %sFast)"</span>, request_confirmation ? <span class='string_literal'>"!"</span> : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> SmcRequestSaveYourself (xsmp-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> save_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> <span class='macro'>True<span class='macro_popup'>1</span></span>, <span class='comment'>/* shutdown */</span></td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>SmInteractStyleAny<span class='macro_popup'>2</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> !request_confirmation, <span class='comment'>/* fast */</span></td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='macro'>True<span class='macro_popup'>1</span></span> <span class='comment'>/* global */</span>);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line">idle_do_pending_events (gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> EggSMClientXSMP *xsmp = data;</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> EggSMClient *client = data;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> xsmp-&gt;idle = 0;</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_emit_quit)</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> xsmp-&gt;waiting_to_emit_quit = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> egg_sm_client_quit (client);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> <span class='keyword'>goto</span> out;</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_emit_quit_cancelled)</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> xsmp-&gt;waiting_to_emit_quit_cancelled = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> egg_sm_client_quit_cancelled (client);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_save_myself)</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> do_save_yourself (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line">out:</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">update_pending_events (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> gboolean want_idle =</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> xsmp-&gt;waiting_to_emit_quit ||</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> xsmp-&gt;waiting_to_emit_quit_cancelled ||</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> xsmp-&gt;waiting_to_save_myself;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>if</span> (want_idle)</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;idle == 0)</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> xsmp-&gt;idle = g_idle_add (idle_do_pending_events, xsmp);</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;idle != 0)</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> g_source_remove (xsmp-&gt;idle);</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> xsmp-&gt;idle = 0;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">fix_broken_state (EggSMClientXSMP *xsmp, <span class='keyword'>const</span> <span class='keyword'>char</span> *message,</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> gboolean send_interact_done,</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> gboolean send_save_yourself_done)</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> g_warning (<span class='string_literal'>"Received XSMP %s message in state %s: client or server error"</span>,</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> message, <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='comment'>/* Forget any pending SaveYourself plans we had */</span></td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (send_interact_done)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> SmcInteractDone (xsmp-&gt;connection, <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>if</span> (send_save_yourself_done)</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>True<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xsmp-&gt;state = send_save_yourself_done ? XSMP_STATE_SAVE_YOURSELF_DONE : XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"><span class='comment'>/* SM callbacks */</span></td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line">xsmp_save_yourself (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> SmPointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> <span class='keyword'>int</span> save_type,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> shutdown,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='keyword'>int</span> interact_style,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> fast)</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> gboolean wants_quit_requested;</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> g_debug (<span class='string_literal'>"Received SaveYourself(%s, %s, %s, %s) in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> save_type == <span class='macro'>SmSaveLocal<span class='macro_popup'>1</span></span> ? <span class='string_literal'>"SmSaveLocal"</span> :</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> save_type == <span class='macro'>SmSaveGlobal<span class='macro_popup'>0</span></span> ? <span class='string_literal'>"SmSaveGlobal"</span> : <span class='string_literal'>"SmSaveBoth"</span>,</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> shutdown ? <span class='string_literal'>"Shutdown"</span> : <span class='string_literal'>"!Shutdown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> interact_style == <span class='macro'>SmInteractStyleAny<span class='macro_popup'>2</span></span> ? <span class='string_literal'>"SmInteractStyleAny"</span> :</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> interact_style == <span class='macro'>SmInteractStyleErrors<span class='macro_popup'>1</span></span> ? <span class='string_literal'>"SmInteractStyleErrors"</span> :</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='string_literal'>"SmInteractStyleNone"</span>, fast ? <span class='string_literal'>"Fast"</span> : <span class='string_literal'>"!Fast"</span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state != XSMP_STATE_IDLE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> xsmp-&gt;state != XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> fix_broken_state (xsmp, <span class='string_literal'>"SaveYourself"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;waiting_to_set_initial_properties)</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> sm_client_xsmp_set_initial_properties (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> <span class='comment'>/* If this is the initial SaveYourself, ignore it; we've already set</span></td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='comment'>* properties and there's no reason to actually save state too.</span></td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;expecting_initial_save_yourself)</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> xsmp-&gt;expecting_initial_save_yourself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (save_type == <span class='macro'>SmSaveLocal<span class='macro_popup'>1</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> interact_style == <span class='macro'>SmInteractStyleNone<span class='macro_popup'>0</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> !shutdown &amp;&amp; !fast)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(True) for initial SaveYourself"</span>);</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>True<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='comment'>/* As explained in the comment at the end of</span></td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='comment'>* do_save_yourself(), SAVE_YOURSELF_DONE is the correct</span></td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> <span class='comment'>* state here, not IDLE.</span></td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> g_warning (<span class='string_literal'>"First SaveYourself was not the expected one!"</span>);</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='comment'>/* Even ignoring the "fast" flag completely, there are still 18</span></td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='comment'>* different combinations of save_type, shutdown and interact_style.</span></td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='comment'>* We interpret them as follows:</span></td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='comment'>* Type Shutdown Interact Interpretation</span></td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='comment'>* G F A/E/N do nothing (1)</span></td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> <span class='comment'>* G T N do nothing (1)*</span></td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='comment'>* G T A/E quit_requested (2)</span></td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> <span class='comment'>* L/B F A/E/N save_state (3)</span></td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> <span class='comment'>* L/B T N save_state (3)*</span></td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='comment'>* L/B T A/E quit_requested, then save_state (4)</span></td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='comment'>* 1. Do nothing, because the SM asked us to do something</span></td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> <span class='comment'>* uninteresting (save open files, but then don't quit</span></td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> <span class='comment'>* afterward) or rude (save open files without asking the user</span></td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='comment'>* for confirmation).</span></td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> <span class='comment'>* 2. Request interaction and then emit ::quit_requested. This</span></td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='comment'>* perhaps isn't quite correct for the SmInteractStyleErrors</span></td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> <span class='comment'>* case, but we don't care.</span></td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='comment'>* 3. Emit ::save_state. The SmSaveBoth SaveYourselfs in these</span></td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='comment'>* rows essentially get demoted to SmSaveLocal, because their</span></td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='comment'>* Global halves correspond to "do nothing".</span></td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> <span class='comment'>* 4. Request interaction, emit ::quit_requested, and then emit</span></td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='comment'>* ::save_state after interacting. This is the SmSaveBoth</span></td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='comment'>* equivalent of #2, but we also promote SmSaveLocal shutdown</span></td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='comment'>* SaveYourselfs to SmSaveBoth here, because we want to give</span></td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='comment'>* the user a chance to save open files before quitting.</span></td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> <span class='comment'>* (* It would be nice if we could do something useful when the</span></td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> <span class='comment'>* session manager sends a SaveYourself with shutdown True and</span></td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> <span class='comment'>* SmInteractStyleNone. But we can't, so we just pretend it didn't</span></td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> <span class='comment'>* even tell us it was shutting down. The docs for ::quit mention</span></td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> <span class='comment'>* that it might not always be preceded by ::quit_requested.)</span></td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='comment'>/* As an optimization, we don't actually request interaction and</span></td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='comment'>* emit ::quit_requested if the application isn't listening to the</span></td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='comment'>* signal.</span></td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> wants_quit_requested = g_signal_has_handler_pending (xsmp, g_signal_lookup (<span class='string_literal'>"quit_requested"</span>, <span class='macro'>EGG_TYPE_SM_CLIENT<span class='macro_popup'>(egg_sm_client_get_type ())</span></span>), 0, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> xsmp-&gt;need_save_state = (save_type != <span class='macro'>SmSaveGlobal<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> xsmp-&gt;need_quit_requested = (shutdown &amp;&amp; wants_quit_requested &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> interact_style != <span class='macro'>SmInteractStyleNone<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> xsmp-&gt;interact_errors = (interact_style == <span class='macro'>SmInteractStyleErrors<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> xsmp-&gt;shutting_down = shutdown;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> do_save_yourself (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line">do_save_yourself (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> <span class='comment'>/* The SM cancelled a previous SaveYourself, but we haven't yet</span></td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='comment'>* had a chance to tell the application, so we can't start</span></td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='comment'>* processing this SaveYourself yet.</span></td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;need_quit_requested)</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> xsmp-&gt;state = XSMP_STATE_INTERACT_REQUEST;</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> g_debug (<span class='string_literal'>"Sending InteractRequest(%s)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> xsmp-&gt;interact_errors ? <span class='string_literal'>"Error"</span> : <span class='string_literal'>"Normal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> SmcInteractRequest (xsmp-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> xsmp-&gt;interact_errors ? <span class='macro'>SmDialogError<span class='macro_popup'>0</span></span> : <span class='macro'>SmDialogNormal<span class='macro_popup'>1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> xsmp_interact,</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> xsmp);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;need_save_state)</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> save_state (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> <span class='comment'>/* Though unlikely, the client could have been disconnected</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> <span class='comment'>* while the application was saving its state.</span></td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(True)"</span>);</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>True<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='comment'>/* The client state diagram in the XSMP spec says that after a</span></td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='comment'>* non-shutdown SaveYourself, we go directly back to "idle". But</span></td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> <span class='comment'>* everything else in both the XSMP spec and the libSM docs</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* disagrees.</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF_DONE;</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line">save_state (EggSMClientXSMP *xsmp)</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> GKeyFile *state_file;</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='keyword'>char</span> *state_file_path, *data;</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> EggDesktopFile *desktop_file;</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> GPtrArray *restart, *discard;</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='keyword'>int</span> offset, fd;</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>/* We set xsmp-&gt;state before emitting save_state, but our caller is</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> <span class='comment'>* responsible for setting it back afterward.</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SAVE_YOURSELF;</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> state_file = egg_sm_client_save_state ((EggSMClient *)xsmp);</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> <span class='keyword'>if</span> (!state_file)</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command, xsmp-&gt;client_id, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> ptrarray_prop (<span class='macro'>SmRestartCommand<span class='macro_popup'>"RestartCommand"</span></span>, restart),</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;set_discard_command)</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> discard = generate_command (xsmp-&gt;discard_command, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> ptrarray_prop (<span class='macro'>SmDiscardCommand<span class='macro_popup'>"DiscardCommand"</span></span>, discard),</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> g_ptr_array_free (discard, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> delete_properties (xsmp, <span class='macro'>SmDiscardCommand<span class='macro_popup'>"DiscardCommand"</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> desktop_file = egg_get_desktop_file ();</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> <span class='keyword'>if</span> (desktop_file)</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> GKeyFile *merged_file;</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='keyword'>char</span> *desktop_file_path;</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> merged_file = g_key_file_new ();</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> desktop_file_path =</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_filename_from_uri (egg_desktop_file_get_source (desktop_file),</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> <span class='keyword'>if</span> (desktop_file_path &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> g_key_file_load_from_file (merged_file, desktop_file_path,</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> G_KEY_FILE_KEEP_COMMENTS |</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> G_KEY_FILE_KEEP_TRANSLATIONS, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> guint g, k, i;</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> <span class='keyword'>char</span> **groups, **keys, *value, *exec;</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> groups = g_key_file_get_groups (state_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='keyword'>for</span> (g = 0; groups[g]; g++)</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> keys = g_key_file_get_keys (state_file, groups[g], <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='keyword'>for</span> (k = 0; keys[k]; k++)</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> value = g_key_file_get_value (state_file, groups[g],</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> keys[k], <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='keyword'>if</span> (value)</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> g_key_file_set_value (merged_file, groups[g],</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> keys[k], value);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> g_strfreev (keys);</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> g_strfreev (groups);</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> g_key_file_free (state_file);</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> state_file = merged_file;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> <span class='comment'>/* Update Exec key using "--sm-client-state-file %k" */</span></td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command,</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"%k"</span>);</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; restart-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> restart-&gt;pdata[i] = g_shell_quote (restart-&gt;pdata[i]);</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> g_ptr_array_add (restart, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> exec = g_strjoinv (<span class='string_literal'>" "</span>, (<span class='keyword'>char</span> **)restart-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> g_strfreev ((<span class='keyword'>char</span> **)restart-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> g_key_file_set_string (state_file, <span class='macro'>EGG_DESKTOP_FILE_GROUP<span class='macro_popup'>"Desktop Entry"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> <span class='macro'>EGG_DESKTOP_FILE_KEY_EXEC<span class='macro_popup'>"Exec"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> exec);</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_free (exec);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> desktop_file = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> g_free (desktop_file_path);</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> <span class='comment'>/* Now write state_file to disk. (We can't use mktemp(), because</span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> <span class='comment'>* that requires the filename to end with "XXXXXX", and we want</span></td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='comment'>* it to end with ".desktop".)</span></td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> data = g_key_file_to_data (state_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> g_key_file_free (state_file);</td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> offset = 0;</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> <span class='keyword'>while</span> (1)</td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> state_file_path = g_strdup_printf (<span class='string_literal'>"%s%csession-state%c%s-%ld.%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> g_get_user_config_dir (),</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>, <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> g_get_prgname (),</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> (<span class='keyword'>long</span>)time (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) + offset,</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> desktop_file ? <span class='string_literal'>"desktop"</span> : <span class='string_literal'>"state"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> fd = open (state_file_path, <span class='macro'>O_WRONLY<span class='macro_popup'>01</span></span> | <span class='macro'>O_CREAT<span class='macro_popup'>0100</span></span> | <span class='macro'>O_EXCL<span class='macro_popup'>0200</span></span>, 0644);</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> <span class='keyword'>if</span> (fd == -1)</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EEXIST<span class='macro_popup'>17</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> offset++;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>ENOTDIR<span class='macro_popup'>20</span></span> || <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>ENOENT<span class='macro_popup'>2</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>char</span> *sep = strrchr (state_file_path, <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> *sep = '\0';</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>if</span> (g_mkdir_with_parents (state_file_path, 0755) != 0)</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> g_warning (<span class='string_literal'>"Could not create directory '%s'"</span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> state_file_path = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> g_warning (<span class='string_literal'>"Could not create file '%s': %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> state_file_path, g_strerror (<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> state_file_path = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> close (fd);</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> g_file_set_contents (state_file_path, data, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> g_free (data);</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> restart = generate_command (xsmp-&gt;restart_command, xsmp-&gt;client_id,</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> ptrarray_prop (<span class='macro'>SmRestartCommand<span class='macro_popup'>"RestartCommand"</span></span>, restart),</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> g_ptr_array_free (restart, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>if</span> (state_file_path)</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> set_properties (xsmp,</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> array_prop (<span class='macro'>SmDiscardCommand<span class='macro_popup'>"DiscardCommand"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> <span class='string_literal'>"/bin/rm"</span>, <span class='string_literal'>"-rf"</span>, state_file_path,</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> g_free (state_file_path);</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line">xsmp_interact (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> EggSMClient *client = client_data;</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> g_debug (<span class='string_literal'>"Received Interact message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state != XSMP_STATE_INTERACT_REQUEST)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> fix_broken_state (xsmp, <span class='string_literal'>"Interact"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xsmp-&gt;state = XSMP_STATE_INTERACT;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> egg_sm_client_quit_requested (client);</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line">xsmp_die (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> EggSMClient *client = client_data;</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> g_debug (<span class='string_literal'>"Received Die message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> sm_client_xsmp_disconnect (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> egg_sm_client_quit (client);</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line">xsmp_save_complete (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> g_debug (<span class='string_literal'>"Received SaveComplete message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SAVE_YOURSELF_DONE)</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> fix_broken_state (xsmp, <span class='string_literal'>"SaveComplete"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line">xsmp_shutdown_cancelled (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> SmPointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> EggSMClientXSMP *xsmp = client_data;</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> EggSMClient *client = client_data;</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> g_debug (<span class='string_literal'>"Received ShutdownCancelled message in state %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='macro'>EGG_SM_CLIENT_XSMP_STATE (xsmp)<span class='macro_popup'>(state_names[(xsmp)-&gt;state])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> xsmp-&gt;shutting_down = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SAVE_YOURSELF_DONE)</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='comment'>/* We've finished interacting and now the SM has agreed to</span></td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='comment'>* cancel the shutdown.</span></td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> egg_sm_client_quit_cancelled (client);</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_SHUTDOWN_CANCELLED)</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> <span class='comment'>/* Hm... ok, so we got a shutdown SaveYourself, which got</span></td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='comment'>* cancelled, but the application was still interacting, so we</span></td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='comment'>* didn't tell it yet, and then *another* SaveYourself arrived,</span></td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='comment'>* which we must still be waiting to tell the app about, except</span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>* that now that SaveYourself has been cancelled too! Dizzy yet?</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> xsmp-&gt;waiting_to_save_myself = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> update_pending_events (xsmp);</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> g_debug (<span class='string_literal'>"Sending SaveYourselfDone(False)"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> SmcSaveYourselfDone (xsmp-&gt;connection, <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;state == XSMP_STATE_INTERACT)</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='comment'>/* The application is currently interacting, so we can't</span></td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='comment'>* tell it about the cancellation yet; we will wait until</span></td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='comment'>* after it calls egg_sm_client_will_quit().</span></td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> xsmp-&gt;state = XSMP_STATE_SHUTDOWN_CANCELLED;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> <span class='comment'>/* The shutdown was cancelled before the application got a</span></td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> <span class='comment'>* chance to interact.</span></td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> xsmp-&gt;state = XSMP_STATE_IDLE;</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"><span class='comment'>/* Utilities */</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='comment'>/* Create a restart/clone/Exec command based on @restart_command.</span></td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> <span class='comment'>* If @client_id is non-%NULL, add "--sm-client-id @client_id".</span></td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> <span class='comment'>* If @state_file is non-%NULL, add "--sm-client-state-file @state_file".</span></td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='comment'>* None of the input strings are g_strdup()ed; the caller must keep</span></td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> <span class='comment'>* them around until it is done with the returned GPtrArray, and must</span></td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='comment'>* then free the array, but not its contents.</span></td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"><span class='keyword'>static</span> GPtrArray *</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line">generate_command (<span class='keyword'>char</span> **restart_command, <span class='keyword'>const</span> <span class='keyword'>char</span> *client_id,</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *state_file)</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> GPtrArray *cmd;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> cmd = g_ptr_array_new ();</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> g_ptr_array_add (cmd, restart_command[0]);</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> <span class='keyword'>if</span> (client_id)</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)<span class='string_literal'>"--sm-client-id"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)client_id);</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> <span class='keyword'>if</span> (state_file)</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)<span class='string_literal'>"--sm-client-state-file"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> g_ptr_array_add (cmd, (<span class='keyword'>char</span> *)state_file);</td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='keyword'>for</span> (i = 1; restart_command[i]; i++)</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> g_ptr_array_add (cmd, restart_command[i]);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> <span class='keyword'>return</span> cmd;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='comment'>/* Takes a NULL-terminated list of SmProp * values, created by</span></td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> <span class='comment'>* array_prop, ptrarray_prop, string_prop, card8_prop, sets them, and</span></td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='comment'>* frees them.</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line">set_properties (EggSMClientXSMP *xsmp, ...)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> GPtrArray *props;</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> va_list ap;</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> props = g_ptr_array_new ();</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> <span class='macro'>va_start (ap, xsmp)<span class='macro_popup'>__builtin_va_start(ap, xsmp)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>while</span> ((prop = <span class='macro'>va_arg (ap, SmProp *)<span class='macro_popup'>__builtin_va_arg(ap, SmProp *)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> g_ptr_array_add (props, prop);</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='macro'>va_end (ap)<span class='macro_popup'>__builtin_va_end(ap)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='keyword'>if</span> (xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> SmcSetProperties (xsmp-&gt;connection, props-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> (SmProp **)props-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; props-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> prop = props-&gt;pdata[i];</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> g_free (prop-&gt;vals);</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> g_free (prop);</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> g_ptr_array_free (props, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"><span class='comment'>/* Takes a NULL-terminated list of property names and deletes them. */</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line">delete_properties (EggSMClientXSMP *xsmp, ...)</td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> GPtrArray *props;</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>char</span> *prop;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> va_list ap;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> <span class='keyword'>if</span> (!xsmp-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> props = g_ptr_array_new ();</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='macro'>va_start (ap, xsmp)<span class='macro_popup'>__builtin_va_start(ap, xsmp)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> <span class='keyword'>while</span> ((prop = <span class='macro'>va_arg (ap, <span class='keyword'>char</span> *)<span class='macro_popup'>__builtin_va_arg(ap, char *)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> g_ptr_array_add (props, prop);</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='macro'>va_end (ap)<span class='macro_popup'>__builtin_va_end(ap)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> SmcDeleteProperties (xsmp-&gt;connection, props-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> (<span class='keyword'>char</span> **)props-&gt;pdata);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> g_ptr_array_free (props, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"><span class='comment'>/* Takes an array of strings and creates a LISTofARRAY8 property. The</span></td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> <span class='comment'>* strings are neither dupped nor freed; they need to remain valid</span></td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> <span class='comment'>* until you're done with the SmProp.</span></td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line">array_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, ...)</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> SmPropValue pv;</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> GArray *vals;</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> va_list ap;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmLISTofARRAY8<span class='macro_popup'>"LISTofARRAY8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> vals = g_array_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='keyword'>sizeof</span> (SmPropValue));</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> <span class='macro'>va_start (ap, name)<span class='macro_popup'>__builtin_va_start(ap, name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='keyword'>while</span> ((value = <span class='macro'>va_arg (ap, <span class='keyword'>char</span> *)<span class='macro_popup'>__builtin_va_arg(ap, char *)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> pv.length = strlen (value);</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> pv.value = value;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> <span class='macro'>g_array_append_val (vals, pv)<span class='macro_popup'>g_array_append_vals (vals, &amp;(pv), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> <span class='macro'>va_end (ap)<span class='macro_popup'>__builtin_va_end(ap)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> prop-&gt;num_vals = vals-&gt;len;</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> prop-&gt;vals = (SmPropValue *)vals-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> g_array_free (vals, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"><span class='comment'>/* Takes a GPtrArray of strings and creates a LISTofARRAY8 property.</span></td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='comment'>* The array contents are neither dupped nor freed; they need to</span></td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='comment'>* remain valid until you're done with the SmProp.</span></td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line">ptrarray_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, GPtrArray *values)</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> SmPropValue pv;</td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> GArray *vals;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmLISTofARRAY8<span class='macro_popup'>"LISTofARRAY8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> vals = g_array_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='keyword'>sizeof</span> (SmPropValue));</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; values-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> pv.length = strlen (values-&gt;pdata[i]);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> pv.value = values-&gt;pdata[i];</td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='macro'>g_array_append_val (vals, pv)<span class='macro_popup'>g_array_append_vals (vals, &amp;(pv), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"> prop-&gt;num_vals = vals-&gt;len;</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> prop-&gt;vals = <span class="mrange"><span class="mrange">(SmPropValue *)vals-&gt;data</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:18ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> g_array_free (vals, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"><span class='comment'>/* Takes a string and creates an ARRAY8 property. The string is</span></td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> <span class='comment'>* neither dupped nor freed; it needs to remain valid until you're</span></td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='comment'>* done with the SmProp.</span></td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line">string_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, <span class='keyword'>const</span> <span class='keyword'>char</span> *value)</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmARRAY8<span class='macro_popup'>"ARRAY8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> prop-&gt;num_vals = 1;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> prop-&gt;vals = <span class='macro'>g_new (SmPropValue, 1)<span class='macro_popup'>((SmPropValue *) g_malloc_n ((1), sizeof (SmPropValue)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> prop-&gt;vals[0].length = strlen (value);</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> prop-&gt;vals[0].value = (<span class='keyword'>char</span> *)value;</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"><span class='comment'>/* Takes a char and creates a CARD8 property. */</span></td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"><span class='keyword'>static</span> SmProp *</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line">card8_prop (<span class='keyword'>const</span> <span class='keyword'>char</span> *name, <span class='keyword'>unsigned</span> <span class='keyword'>char</span> value)</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> SmProp *prop;</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='keyword'>char</span> *card8val;</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>/* To avoid having to allocate and free prop-&gt;vals[0], we cheat and</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* make vals a 2-element-long array and then use the second element</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>* to store value.</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> prop = <span class='macro'>g_new (SmProp, 1)<span class='macro_popup'>((SmProp *) g_malloc_n ((1), sizeof (SmProp)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> prop-&gt;name = (<span class='keyword'>char</span> *)name;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> prop-&gt;type = (<span class='keyword'>char</span> *)<span class='macro'>SmCARD8<span class='macro_popup'>"CARD8"</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> prop-&gt;num_vals = 1;</td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> prop-&gt;vals = <span class='macro'>g_new (SmPropValue, 2)<span class='macro_popup'>((SmPropValue *) g_malloc_n ((2), sizeof (SmPropValue)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> card8val = (<span class='keyword'>char</span> *)(&amp;prop-&gt;vals[1]);</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> card8val[0] = value;</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> prop-&gt;vals[0].length = 1;</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> prop-&gt;vals[0].value = card8val;</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='keyword'>return</span> prop;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"><span class='comment'>/* ICE code. This makes no effort to play nice with anyone else trying</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='comment'>* to use libICE. Fortunately, no one uses libICE for anything other</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='comment'>* than SM. (DCOP uses ICE, but it has its own private copy of</span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='comment'>* libICE.)</span></td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='comment'>* When this moves to gtk, it will need to be cleverer, to avoid</span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='comment'>* tripping over old apps that use MateClient or that use libSM</span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='comment'>* directly.</span></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"><span class='directive'>#include &lt;X11/ICE/ICElib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_error_handler (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> IcePointer values);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_io_error_handler (IceConn ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> ice_connection_watch (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> IcePointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> opening,</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> IcePointer *watch_data);</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line">ice_init (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> IceSetIOErrorHandler (ice_io_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> IceSetErrorHandler (ice_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> IceAddConnectionWatch (ice_connection_watch, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line">process_ice_messages (IceConn ice_conn)</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> IceProcessMessagesStatus status;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> status = IceProcessMessages (ice_conn, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>switch</span> (status)</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> <span class='keyword'>case</span> IceProcessMessagesSuccess:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='keyword'>case</span> IceProcessMessagesIOError:</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> sm_client_xsmp_disconnect (IceGetConnectionContext (ice_conn));</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='keyword'>case</span> IceProcessMessagesConnectionClosed:</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("EggSMClient", "eggsmclient-xsmp.c"<br>, 1341, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line">ice_iochannel_watch (GIOChannel *channel,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> GIOCondition condition,</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gpointer client_data)</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>return</span> process_ice_messages (client_data);</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line">ice_connection_watch (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> IcePointer client_data,</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> opening,</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> IcePointer *watch_data)</td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> guint watch_id;</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>if</span> (opening)</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> GIOChannel *channel;</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='keyword'>int</span> fd = IceConnectionNumber (ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> fcntl (fd, <span class='macro'>F_SETFD<span class='macro_popup'>2</span></span>, fcntl (fd, <span class='macro'>F_GETFD<span class='macro_popup'>1</span></span>, 0) | <span class='macro'>FD_CLOEXEC<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> channel = g_io_channel_unix_new (fd);</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> watch_id = g_io_add_watch (channel, G_IO_IN | G_IO_ERR,</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> ice_iochannel_watch, ice_conn);</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> g_io_channel_unref (channel);</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> *watch_data = <span class='macro'>GUINT_TO_POINTER (watch_id)<span class='macro_popup'>((gpointer) (gulong) (watch_id))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> watch_id = <span class='macro'>GPOINTER_TO_UINT (*watch_data)<span class='macro_popup'>((guint) (gulong) (*watch_data))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> g_source_remove (watch_id);</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line">ice_error_handler (IceConn ice_conn,</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> IcePointer values)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='comment'>/* Do nothing */</span></td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line">ice_io_error_handler (IceConn ice_conn)</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> <span class='comment'>/* Do nothing */</span></td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line">smc_error_handler (SmcConn smc_conn,</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> <span class='macro'>Bool<span class='macro_popup'>int</span></span> swap,</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> <span class='keyword'>int</span> offending_minor_opcode,</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> offending_sequence,</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> <span class='keyword'>int</span> error_class,</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>int</span> severity,</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> SmPointer values)</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='comment'>/* Do nothing */</span></td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-cfdb46.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-cfdb46.html
new file mode 100644
index 00000000..cc78e140
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-cfdb46.html
@@ -0,0 +1,2588 @@
+<!doctype html>
+<html>
+<head>
+<title>fish.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC This statement is never executed -->
+
+<!-- BUGTYPE Unreachable code -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/applets/fish/fish.c -->
+
+<!-- FILENAME fish.c -->
+
+<!-- FUNCTIONNAME handle_keypress -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT cfdb46fff5a996398d29c663278c5d33 -->
+
+<!-- BUGLINE 1578 -->
+
+<!-- BUGCOLUMN 3 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>applets/fish/fish.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 1578, column 3</a><br />This statement is never executed</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name fish.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/applets/fish -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I ../.. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I . -I ./../../libmate-panel-applet -I ../../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D FISH_ICONDIR="/usr/local/share/mate-panel/fish" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/applets/fish -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c fish.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"1578": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* fish.c:</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* Copyright (C) 1998-2002 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2002-2005 Vincent Untz</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or modify</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* it under the terms of the GNU General Public License as published by</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* the Free Software Foundation; either version 2 of the License, or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* GNU General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* George Lebl &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Vincent Untz &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* Stefano Karapetsas &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;time.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;glib-object.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet-gsettings.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_APPLET(o)<span class='macro_popup'>((((FishApplet*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((o)), (fish_applet_get_type())))))</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> <span class='directive'>(<span class='macro'>G_TYPE_CHECK_INSTANCE_CAST((o), fish_applet_get_type(), FishApplet)<span class='macro_popup'>(((FishApplet*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((o)), (fish_applet_get_type()))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_IS_APPLET(o)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(o)); GType __t = (FISH_TYPE_APPLET); gboolean __r; if (!__inst<br>) __r = (0); else if (__inst-&gt;g_class &amp;&amp; __inst-&gt;<br>g_class-&gt;g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a<br> (__inst, __t); __r; }))))</span></span> \</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> <span class='directive'>(<span class='macro'>G_TYPE_CHECK_INSTANCE_TYPE((o), FISH_TYPE_APPLET)<span class='macro_popup'>((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(o)); GType __t = (FISH_TYPE_APPLET); gboolean __r; if (!__inst<br>) __r = (0); else if (__inst-&gt;g_class &amp;&amp; __inst-&gt;<br>g_class-&gt;g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a<br> (__inst, __t); __r; })))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span> "mate-panel-fish"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_RESOURCE_PATH<span class='macro_popup'>"/org/mate/panel/applet/fish/"</span></span> "/org/mate/panel/applet/fish/"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.fish"</span></span> "org.mate.panel.applet.fish"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_NAME_KEY<span class='macro_popup'>"name"</span></span> "name"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_IMAGE_KEY<span class='macro_popup'>"image"</span></span> "image"</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_COMMAND_KEY<span class='macro_popup'>"command"</span></span> "command"</span></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_FRAMES_KEY<span class='macro_popup'>"frames"</span></span> "frames"</span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_SPEED_KEY<span class='macro_popup'>"speed"</span></span> "speed"</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_ROTATE_KEY<span class='macro_popup'>"rotate"</span></span> "rotate"</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#define <span class='macro'>LOCKDOWN_SCHEMA<span class='macro_popup'>"org.mate.lockdown"</span></span> "org.mate.lockdown"</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'>#define <span class='macro'>LOCKDOWN_DISABLE_COMMAND_LINE_KEY<span class='macro_popup'>"disable-command-line"</span></span> "disable-command-line"</span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> MatePanelApplet applet;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> GSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> GSettings *lockdown_settings;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='keyword'>char</span> *image;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *command;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>int</span> n_frames;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> gdouble speed;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> MatePanelAppletOrient orientation;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> GtkWidget *frame;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> GtkWidget *drawing_area;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> GdkRectangle prev_allocation;</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> gint surface_width;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> gint surface_height;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> guint timeout;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='keyword'>int</span> current_frame;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> gboolean in_applet;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> GdkPixbuf *pixbuf;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> GtkWidget *preferences_dialog;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> GtkWidget *name_entry;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> GtkWidget *command_label;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> GtkWidget *command_entry;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> GtkWidget *preview_image;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> GtkWidget *image_chooser;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> GtkWidget *frames_spin;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> GtkWidget *speed_spin;</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GtkWidget *rotate_toggle;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> GtkWidget *fortune_dialog;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> GtkWidget *fortune_view;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> GtkWidget *fortune_label;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> GtkWidget *fortune_cmd_label;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> GtkTextBuffer *fortune_buffer;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>int</span> source_id;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> GIOChannel *io_channel;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> gboolean april_fools;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">} FishApplet;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> MatePanelAppletClass klass;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line">} FishAppletClass;</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"><span class='keyword'>static</span> gboolean load_fish_image (FishApplet *fish);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> update_pixmap (FishApplet *fish);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> something_fishy_going_on (FishApplet *fish, <span class='keyword'>const</span> <span class='keyword'>char</span> *message);</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_fortune_dialog (FishApplet *fish);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> set_tooltip (FishApplet *fish);</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"><span class='keyword'>static</span> GType fish_applet_get_type (<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"><span class='keyword'>static</span> GObjectClass *parent_class;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> fools_day = 0;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> fools_month = 0;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> fools_hour_start = 0;</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> fools_hour_end = 0;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span>* get_image_path(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>if</span> (g_path_is_absolute (fish-&gt;image))</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> path = <span class='macro'>g_strdup (fish-&gt;image)<span class='macro_popup'>g_strdup_inline (fish-&gt;image)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> path = g_strdup_printf (<span class='string_literal'>"%s/%s"</span>, <span class='macro'>FISH_ICONDIR<span class='macro_popup'>"/usr/local/share/mate-panel/fish"</span></span>, fish-&gt;image);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> show_help(FishApplet* fish, <span class='keyword'>const</span> <span class='keyword'>char</span>* link_id)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_HELP_DOC<span class='macro_popup'>"mate-fish"</span></span> "mate-fish"</span></td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>if</span> (link_id)</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> uri = g_strdup_printf (<span class='string_literal'>"help:%s/%s"</span>, <span class='macro'>FISH_HELP_DOC<span class='macro_popup'>"mate-fish"</span></span>, link_id);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> uri = g_strdup_printf (<span class='string_literal'>"help:%s"</span>, <span class='macro'>FISH_HELP_DOC<span class='macro_popup'>"mate-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> gtk_show_uri_on_window (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, uri,</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> gtk_get_current_event_time (), &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='keyword'>if</span> (error &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> g_error_matches (error, <span class='macro'>G_IO_ERROR<span class='macro_popup'>g_io_error_quark()</span></span>, G_IO_ERROR_CANCELLED))</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> GtkWidget *dialog;</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>char</span> *primary;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> primary = g_markup_printf_escaped (</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Could not display help document '%s'"</span>)<span class='macro_popup'>gettext ("Could not display help document '%s'")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='macro'>FISH_HELP_DOC<span class='macro_popup'>"mate-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> dialog = gtk_message_dialog_new (</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GTK_DIALOG_DESTROY_WITH_PARENT,</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> GTK_MESSAGE_ERROR,</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> GTK_BUTTONS_CLOSE,</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='string_literal'>"%s"</span>, primary);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> gtk_message_dialog_format_secondary_text (</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='macro'>GTK_MESSAGE_DIALOG (dialog)<span class='macro_popup'>((((GtkMessageDialog*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((gtk_message_dialog_get_type ())<br>)))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> <span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> g_free (primary);</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='macro'>g_signal_connect (dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_destroy),<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> gtk_window_set_icon_name (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='comment'>/* we have no parent window */</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> gtk_window_set_skip_taskbar_hint (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Error displaying help document"</span>)<span class='macro_popup'>gettext ("Error displaying help document")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> gtk_widget_show (dialog);</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> name_value_changed(GtkEntry* entry, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *text;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> text = gtk_entry_get_text (entry);</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='keyword'>if</span> (!text || !text [0])</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> g_settings_set_string (fish-&gt;settings, <span class='macro'>FISH_NAME_KEY<span class='macro_popup'>"name"</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> image_value_changed(GtkFileChooser* chooser, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>char</span> *image;</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>char</span> *path_gsettings;</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> path = gtk_file_chooser_get_filename (<span class='macro'>GTK_FILE_CHOOSER (chooser)<span class='macro_popup'>((((GtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((chooser)), ((gtk_file_chooser_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> <span class='keyword'>if</span> (!path || !path[0]) {</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> path_gsettings = get_image_path (fish);</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> <span class='keyword'>if</span> (!strcmp (path, path_gsettings)) {</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> g_free (path_gsettings);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> g_free (path_gsettings);</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>if</span> (!strncmp (path, <span class='macro'>FISH_ICONDIR<span class='macro_popup'>"/usr/local/share/mate-panel/fish"</span></span>, strlen (<span class='macro'>FISH_ICONDIR<span class='macro_popup'>"/usr/local/share/mate-panel/fish"</span></span>))) {</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> image = path + strlen (<span class='macro'>FISH_ICONDIR<span class='macro_popup'>"/usr/local/share/mate-panel/fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='keyword'>while</span> (*image &amp;&amp; *image == <span class='macro'>G_DIR_SEPARATOR<span class='macro_popup'>'/'</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> image++;</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> image = path;</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> g_settings_set_string (fish-&gt;settings, <span class='macro'>FISH_IMAGE_KEY<span class='macro_popup'>"image"</span></span>, image);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> command_value_changed(GtkEntry* entry, FishApplet *fish)</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *text;</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> text = gtk_entry_get_text (entry);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> <span class='keyword'>if</span> (!text || !text [0]) {</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> g_settings_set_string (fish-&gt;settings, <span class='macro'>FISH_COMMAND_KEY<span class='macro_popup'>"command"</span></span>, <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>if</span> (!strncmp (text, <span class='string_literal'>"ps "</span>, 3) ||</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> !strcmp (text, <span class='string_literal'>"ps"</span>) ||</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> !strncmp (text, <span class='string_literal'>"who "</span>, 4) ||</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> !strcmp (text, <span class='string_literal'>"who"</span>) ||</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> !strcmp (text, <span class='string_literal'>"uptime"</span>) ||</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> !strncmp (text, <span class='string_literal'>"tail "</span>, 5)) {</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> <span class='keyword'>static</span> gboolean message_given = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *warning_format =</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Warning: The command "<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='string_literal'><span class='macro'>"appears to be something actually useful.\n"<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> <span class='string_literal'><span class='macro'>"Since this is a useless applet, you "<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='string_literal'><span class='macro'>"may not want to do this.\n"<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='string_literal'><span class='macro'>"We strongly advise you against "<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='string_literal'><span class='macro'>"using %s for anything\n"<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> <span class='string_literal'><span class='macro'>"which would make the applet "<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='string_literal'><span class='macro'>"\"practical\" or useful."</span>)<span class='macro_popup'>gettext ("Warning: The command " "appears to be something actually useful.\n"<br> "Since this is a useless applet, you " "may not want to do this.\n"<br> "We strongly advise you against " "using %s for anything\n" "which would make the applet "<br> "\"practical\" or useful.")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>if</span> (!message_given) {</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>char</span> *message = g_strdup_printf (warning_format, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> something_fishy_going_on (fish, message);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> g_free (message);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> message_given = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> g_settings_set_string (fish-&gt;settings, <span class='macro'>FISH_COMMAND_KEY<span class='macro_popup'>"command"</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> n_frames_value_changed(GtkSpinButton* button, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> g_settings_set_int (</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> fish-&gt;settings,</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='macro'>FISH_FRAMES_KEY<span class='macro_popup'>"frames"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> gtk_spin_button_get_value_as_int (button));</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> speed_value_changed (GtkSpinButton* button, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> g_settings_set_double (</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> fish-&gt;settings,</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='macro'>FISH_SPEED_KEY<span class='macro_popup'>"speed"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_spin_button_get_value (button));</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> rotate_value_changed(GtkToggleButton* toggle, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_settings_set_boolean (</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> fish-&gt;settings,</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='macro'>FISH_ROTATE_KEY<span class='macro_popup'>"rotate"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> gtk_toggle_button_get_active (toggle));</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"><span class='keyword'>static</span> gboolean delete_event(GtkWidget* widget, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> gtk_widget_hide (widget);</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> handle_response(GtkWidget* widget, <span class='keyword'>int</span> id, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (id == GTK_RESPONSE_HELP) {</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> show_help (fish, <span class='string_literal'>"fish-settings"</span>);</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> gtk_widget_hide (fish-&gt;preferences_dialog);</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_sensitivity(FishApplet* fish, GtkBuilder* builder, <span class='keyword'>const</span> <span class='keyword'>char</span>* wid, <span class='keyword'>const</span> <span class='keyword'>char</span>* label, <span class='keyword'>const</span> <span class='keyword'>char</span>* label_post, <span class='keyword'>const</span> <span class='keyword'>char</span>* key)</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> GtkWidget *w;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='keyword'>if</span> (g_settings_is_writable (fish-&gt;settings, key)) {</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> w = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, wid))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, wid))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='macro'>g_assert (w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "fish.c", 334, ((const char*) (__func__)), "w != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> gtk_widget_set_sensitive (w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (label != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> w = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, label))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, label))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='macro'>g_assert (w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "fish.c", 339, ((const char*) (__func__)), "w != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> gtk_widget_set_sensitive (w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>if</span> (label_post != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> w = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, label_post))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, label_post))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='macro'>g_assert (w != NULL)<span class='macro_popup'>do { if (w != ((void*)0)) ; else g_assertion_message_expr (((<br>gchar*) 0), "fish.c", 344, ((const char*) (__func__)), "w != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> gtk_widget_set_sensitive (w, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> chooser_preview_update(GtkFileChooser* file_chooser, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> GtkWidget *preview;</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>char</span> *filename;</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> GdkPixbuf *pixbuf;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> gboolean have_preview;</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> preview = <span class='macro'>GTK_WIDGET (data)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((data)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> filename = gtk_file_chooser_get_preview_filename (file_chooser);</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>if</span> (filename == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> pixbuf = gdk_pixbuf_new_from_file_at_size (filename, 128, 128, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> have_preview = (pixbuf != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> g_free (filename);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> gtk_image_set_from_pixbuf (<span class='macro'>GTK_IMAGE (preview)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((preview)), ((gtk_image_get_type ()))))))</span></span>, pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> <span class='keyword'>if</span> (pixbuf)</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_object_unref (pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> gtk_file_chooser_set_preview_widget_active (file_chooser,</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> have_preview);</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_preferences_dialog(GtkAction* action, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> GtkBuilder *builder;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> GtkWidget *button;</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> GtkFileFilter *filter;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> GtkWidget *chooser_preview;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;preferences_dialog) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), ((gtk_window_get_type ())<br>)))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), ((gtk_window_get_type ())<br>)))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> builder = gtk_builder_new ();</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> gtk_builder_set_translation_domain (builder, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> gtk_builder_add_from_resource (builder, <span class='macro'>FISH_RESOURCE_PATH<span class='macro_popup'>"/org/mate/panel/applet/fish/"</span></span> <span class='string_literal'>"fish.ui"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> fish-&gt;preferences_dialog = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"fish_preferences_dialog"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "fish_preferences_dialog"<br>))), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> g_object_add_weak_pointer (<span class='macro'>G_OBJECT (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> (<span class='keyword'>void</span>**) &amp;fish-&gt;preferences_dialog);</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> gtk_window_set_icon_name (<span class='macro'>GTK_WINDOW (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), ((gtk_window_get_type ())<br>)))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> gtk_dialog_set_default_response (</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='macro'>GTK_DIALOG (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), ((gtk_dialog_get_type ())<br>)))))</span></span>, GTK_RESPONSE_OK);</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> fish-&gt;name_entry = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"name_entry"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "name_entry"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (fish-&gt;name_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;name_entry)), ((gtk_entry_get_type ()))))))</span></span>, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;name_entry, <span class='string_literal'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;name_entry), ("changed"), ((<br>(GCallback) (name_value_changed))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> <span class='macro'>G_CALLBACK (name_value_changed), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;name_entry), ("changed"), ((<br>(GCallback) (name_value_changed))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> setup_sensitivity (fish, builder,</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='string_literal'>"name_entry"</span> <span class='comment'>/* wid */</span>,</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='string_literal'>"name_label"</span> <span class='comment'>/* label */</span>,</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> <span class='comment'>/* label_post */</span>,</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='macro'>FISH_NAME_KEY<span class='macro_popup'>"name"</span></span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> fish-&gt;preview_image = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"preview_image"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "preview_image"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;pixbuf)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> gtk_image_set_from_pixbuf (<span class='macro'>GTK_IMAGE (fish-&gt;preview_image)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preview_image)), ((gtk_image_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> fish-&gt;pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> fish-&gt;image_chooser = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"image_chooser"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "image_chooser"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> filter = gtk_file_filter_new ();</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> gtk_file_filter_set_name (filter, <span class='macro'>_(<span class='string_literal'>"Images"</span>)<span class='macro_popup'>gettext ("Images")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> gtk_file_filter_add_pixbuf_formats (filter);</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> gtk_file_chooser_add_filter (<span class='macro'>GTK_FILE_CHOOSER (fish-&gt;image_chooser)<span class='macro_popup'>((((GtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;image_chooser)), ((gtk_file_chooser_get_type ()<br>))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> filter);</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> gtk_file_chooser_set_filter (<span class='macro'>GTK_FILE_CHOOSER (fish-&gt;image_chooser)<span class='macro_popup'>((((GtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;image_chooser)), ((gtk_file_chooser_get_type ()<br>))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> filter);</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> chooser_preview = gtk_image_new ();</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> gtk_file_chooser_set_preview_widget (<span class='macro'>GTK_FILE_CHOOSER (fish-&gt;image_chooser)<span class='macro_popup'>((((GtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;image_chooser)), ((gtk_file_chooser_get_type ()<br>))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> chooser_preview);</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;image_chooser, <span class='string_literal'>"update-preview"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;image_chooser), ("update-preview"<br>), (((GCallback) (chooser_preview_update))), (chooser_preview<br>), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>G_CALLBACK (chooser_preview_update), chooser_preview)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;image_chooser), ("update-preview"<br>), (((GCallback) (chooser_preview_update))), (chooser_preview<br>), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> path = get_image_path (fish);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> gtk_file_chooser_set_filename (<span class='macro'>GTK_FILE_CHOOSER (fish-&gt;image_chooser)<span class='macro_popup'>((((GtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;image_chooser)), ((gtk_file_chooser_get_type ()<br>))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> path);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;image_chooser, <span class='string_literal'>"selection-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;image_chooser), ("selection-changed"<br>), (((GCallback) (image_value_changed))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='macro'>G_CALLBACK (image_value_changed), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;image_chooser), ("selection-changed"<br>), (((GCallback) (image_value_changed))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> setup_sensitivity (fish, builder,</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> <span class='string_literal'>"image_chooser"</span> <span class='comment'>/* wid */</span>,</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> <span class='string_literal'>"image_label"</span> <span class='comment'>/* label */</span>,</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> <span class='comment'>/* label_post */</span>,</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>FISH_IMAGE_KEY<span class='macro_popup'>"image"</span></span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> fish-&gt;command_label = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"command_label"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "command_label"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> fish-&gt;command_entry = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"command_entry"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "command_entry"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (fish-&gt;command_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;command_entry)), ((gtk_entry_get_type ()))))))</span></span>, fish-&gt;command);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;command_entry, <span class='string_literal'>"changed"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;command_entry), ("changed"),<br> (((GCallback) (command_value_changed))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='macro'>G_CALLBACK (command_value_changed), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;command_entry), ("changed"),<br> (((GCallback) (command_value_changed))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> setup_sensitivity (fish, builder,</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='string_literal'>"command_entry"</span> <span class='comment'>/* wid */</span>,</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='string_literal'>"command_label"</span> <span class='comment'>/* label */</span>,</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> <span class='comment'>/* label_post */</span>,</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> <span class='macro'>FISH_COMMAND_KEY<span class='macro_popup'>"command"</span></span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='keyword'>if</span> (g_settings_get_boolean (fish-&gt;lockdown_settings, <span class='macro'>LOCKDOWN_DISABLE_COMMAND_LINE_KEY<span class='macro_popup'>"disable-command-line"</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> gtk_widget_set_sensitive (fish-&gt;command_label, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> gtk_widget_set_sensitive (fish-&gt;command_entry, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> fish-&gt;frames_spin = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"frames_spin"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "frames_spin"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> gtk_spin_button_set_value (<span class='macro'>GTK_SPIN_BUTTON (fish-&gt;frames_spin)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;frames_spin)), ((gtk_spin_button_get_type ())))<br>)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> fish-&gt;n_frames);</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;frames_spin, <span class='string_literal'>"value-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;frames_spin), ("value-changed"<br>), (((GCallback) (n_frames_value_changed))), (fish), ((void*)<br>0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span class='macro'>G_CALLBACK (n_frames_value_changed), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;frames_spin), ("value-changed"<br>), (((GCallback) (n_frames_value_changed))), (fish), ((void*)<br>0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> setup_sensitivity (fish, builder,</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span class='string_literal'>"frames_spin"</span> <span class='comment'>/* wid */</span>,</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='string_literal'>"frames_label"</span> <span class='comment'>/* label */</span>,</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> <span class='string_literal'>"frames_post_label"</span> <span class='comment'>/* label_post */</span>,</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='macro'>FISH_FRAMES_KEY<span class='macro_popup'>"frames"</span></span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> fish-&gt;speed_spin = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"speed_spin"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "speed_spin"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> gtk_spin_button_set_value (<span class='macro'>GTK_SPIN_BUTTON (fish-&gt;speed_spin)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;speed_spin)), ((gtk_spin_button_get_type ()))))<br>))</span></span>, fish-&gt;speed);</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;speed_spin, <span class='string_literal'>"value-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;speed_spin), ("value-changed"<br>), (((GCallback) (speed_value_changed))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='macro'>G_CALLBACK (speed_value_changed), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;speed_spin), ("value-changed"<br>), (((GCallback) (speed_value_changed))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> setup_sensitivity (fish, builder,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"speed_spin"</span> <span class='comment'>/* wid */</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='string_literal'>"speed_label"</span> <span class='comment'>/* label */</span>,</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> <span class='string_literal'>"speed_post_label"</span> <span class='comment'>/* label_post */</span>,</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='macro'>FISH_SPEED_KEY<span class='macro_popup'>"speed"</span></span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> fish-&gt;rotate_toggle = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"rotate_toggle"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "rotate_toggle"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> gtk_toggle_button_set_active (</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>GTK_TOGGLE_BUTTON (fish-&gt;rotate_toggle)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;rotate_toggle)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, fish-&gt;rotate);</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;rotate_toggle, <span class='string_literal'>"toggled"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;rotate_toggle), ("toggled"),<br> (((GCallback) (rotate_value_changed))), (fish), ((void*)0), (<br>GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='macro'>G_CALLBACK (rotate_value_changed), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;rotate_toggle), ("toggled"),<br> (((GCallback) (rotate_value_changed))), (fish), ((void*)0), (<br>GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> setup_sensitivity (fish, builder,</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='string_literal'>"rotate_toggle"</span> <span class='comment'>/* wid */</span>,</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> <span class='comment'>/* label */</span>,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> <span class='comment'>/* label_post */</span>,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='macro'>FISH_ROTATE_KEY<span class='macro_popup'>"rotate"</span></span> <span class='comment'>/* key */</span>);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;preferences_dialog, <span class='string_literal'>"delete-event"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;preferences_dialog), ("delete-event"<br>), (((GCallback) (delete_event))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> <span class='macro'>G_CALLBACK (delete_event), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;preferences_dialog), ("delete-event"<br>), (((GCallback) (delete_event))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;preferences_dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;preferences_dialog), ("response"<br>), (((GCallback) (handle_response))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> <span class='macro'>G_CALLBACK (handle_response), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;preferences_dialog), ("response"<br>), (((GCallback) (handle_response))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> button = <span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, <span class='string_literal'>"done_button"</span>))<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, "done_button"))), ((gtk_widget_get_type<br> ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), ((GCallback) gtk_widget_hide<br>), (fish-&gt;preferences_dialog), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='macro'>(GCallback) gtk_widget_hide,<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), ((GCallback) gtk_widget_hide<br>), (fish-&gt;preferences_dialog), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> <span class='macro'>fish-&gt;preferences_dialog)<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), ((GCallback) gtk_widget_hide<br>), (fish-&gt;preferences_dialog), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), ((gtk_window_get_type ())<br>)))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> gtk_window_set_resizable (<span class='macro'>GTK_WINDOW (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), ((gtk_window_get_type ())<br>)))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (fish-&gt;preferences_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preferences_dialog)), ((gtk_window_get_type ())<br>)))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> g_object_unref (builder);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_help_dialog(GtkAction* action, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> show_help(fish, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_about_dialog(GtkAction* action, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span>* author_format = <span class='macro'>_(<span class='string_literal'>"%s the Fish"</span>)<span class='macro_popup'>gettext ("%s the Fish")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span>* about_format = <span class='macro'>_(<span class='string_literal'>"%s has no use what-so-ever. "<span class='macro_popup'>gettext ("%s has no use what-so-ever. " "It only takes up disk space and "<br> "compilation time, and if loaded it also " "takes up precious panel space and "<br> "memory. Anybody found using it should be " "promptly sent for a psychiatric "<br> "evaluation.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='string_literal'><span class='macro'>"It only takes up disk space and "<span class='macro_popup'>gettext ("%s has no use what-so-ever. " "It only takes up disk space and "<br> "compilation time, and if loaded it also " "takes up precious panel space and "<br> "memory. Anybody found using it should be " "promptly sent for a psychiatric "<br> "evaluation.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> <span class='string_literal'><span class='macro'>"compilation time, and if loaded it also "<span class='macro_popup'>gettext ("%s has no use what-so-ever. " "It only takes up disk space and "<br> "compilation time, and if loaded it also " "takes up precious panel space and "<br> "memory. Anybody found using it should be " "promptly sent for a psychiatric "<br> "evaluation.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> <span class='string_literal'><span class='macro'>"takes up precious panel space and "<span class='macro_popup'>gettext ("%s has no use what-so-ever. " "It only takes up disk space and "<br> "compilation time, and if loaded it also " "takes up precious panel space and "<br> "memory. Anybody found using it should be " "promptly sent for a psychiatric "<br> "evaluation.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> <span class='string_literal'><span class='macro'>"memory. Anybody found using it should be "<span class='macro_popup'>gettext ("%s has no use what-so-ever. " "It only takes up disk space and "<br> "compilation time, and if loaded it also " "takes up precious panel space and "<br> "memory. Anybody found using it should be " "promptly sent for a psychiatric "<br> "evaluation.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='string_literal'><span class='macro'>"promptly sent for a psychiatric "<span class='macro_popup'>gettext ("%s has no use what-so-ever. " "It only takes up disk space and "<br> "compilation time, and if loaded it also " "takes up precious panel space and "<br> "memory. Anybody found using it should be " "promptly sent for a psychiatric "<br> "evaluation.")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='string_literal'><span class='macro'>"evaluation."</span>)<span class='macro_popup'>gettext ("%s has no use what-so-ever. " "It only takes up disk space and "<br> "compilation time, and if loaded it also " "takes up precious panel space and "<br> "memory. Anybody found using it should be " "promptly sent for a psychiatric "<br> "evaluation.")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span>* documenters [] = {</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='string_literal'>"Telsa Gwynne &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='string_literal'>"Sun GNOME Documentation Team &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>char</span>* authors[3];</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> <span class='keyword'>char</span>* descr;</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> authors[0] = g_strdup_printf(author_format, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> authors[1] = <span class='macro'>_(<span class='string_literal'>"(with minor help from George)"</span>)<span class='macro_popup'>gettext ("(with minor help from George)")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> authors[2] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> descr = g_strdup_printf(about_format, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> gtk_show_about_dialog(<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='string_literal'>"program-name"</span>, <span class='macro'>_(<span class='string_literal'>"Fish"</span>)<span class='macro_popup'>gettext ("Fish")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='string_literal'>"title"</span>, <span class='macro'>_(<span class='string_literal'>"About Fish"</span>)<span class='macro_popup'>gettext ("About Fish")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> <span class='string_literal'>"authors"</span>, authors,</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> <span class='string_literal'>"comments"</span>, descr,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> <span class='string_literal'>"copyright"</span>, <span class='macro'>_(<span class='string_literal'>"Copyright \xc2\xa9 1998-2002 Free Software Foundation, Inc.\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 1998-2002 Free Software Foundation, Inc.\n"<br> "Copyright \xc2\xa9 2002-2005 Vincent Untz\n" "Copyright \xc2\xa9 2012-2021 MATE developers"<br>)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2002-2005 Vincent Untz\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 1998-2002 Free Software Foundation, Inc.\n"<br> "Copyright \xc2\xa9 2002-2005 Vincent Untz\n" "Copyright \xc2\xa9 2012-2021 MATE developers"<br>)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2012-2021 MATE developers"</span>)<span class='macro_popup'>gettext ("Copyright \xc2\xa9 1998-2002 Free Software Foundation, Inc.\n"<br> "Copyright \xc2\xa9 2002-2005 Vincent Untz\n" "Copyright \xc2\xa9 2012-2021 MATE developers"<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='string_literal'>"documenters"</span>, documenters,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> <span class='string_literal'>"logo-icon-name"</span>, <span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> <span class='string_literal'>"translator-credits"</span>, <span class='macro'>_(<span class='string_literal'>"translator-credits"</span>)<span class='macro_popup'>gettext ("translator-credits")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> <span class='string_literal'>"version"</span>, <span class='macro'>VERSION<span class='macro_popup'>"1.29.0"</span></span>, <span class='comment'>/* "3.4.7.4ac19" */</span></td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> <span class='string_literal'>"website"</span>, <span class='macro'>PACKAGE_URL<span class='macro_popup'>"https://mate-desktop.org"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> g_free(descr);</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> g_free(authors[0]);</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> set_ally_name_desc(GtkWidget* widget, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name_format = <span class='macro'>_(<span class='string_literal'>"%s the Fish"</span>)<span class='macro_popup'>gettext ("%s the Fish")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *desc_format = <span class='macro'>_(<span class='string_literal'>"%s the Fish, a contemporary oracle"</span>)<span class='macro_popup'>gettext ("%s the Fish, a contemporary oracle")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> AtkObject *obj;</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> <span class='keyword'>char</span> *desc, *name;</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> obj = gtk_widget_get_accessible (widget);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> <span class='comment'>/* Return immediately if GAIL is not loaded */</span></td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GTK_IS_ACCESSIBLE (obj)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(obj)); GType __t = ((gtk_accessible_get_type ())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> name = g_strdup_printf (name_format, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> atk_object_set_name (obj, name);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> g_free (name);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> desc = g_strdup_printf (desc_format, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> atk_object_set_description (obj, desc);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> g_free (desc);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> something_fishy_going_on(FishApplet* fish, <span class='keyword'>const</span> <span class='keyword'>char</span>* message)</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> GtkWidget *dialog;</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> dialog = gtk_message_dialog_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> GTK_DIALOG_DESTROY_WITH_PARENT,</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> GTK_MESSAGE_ERROR,</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> GTK_BUTTONS_CLOSE,</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='string_literal'>"%s"</span>, message);</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> <span class='macro'>g_signal_connect (dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_destroy),<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> gtk_window_set_icon_name (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> gtk_window_set_resizable (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> gtk_widget_show (dialog);</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"><span class='keyword'>static</span> gboolean locate_fortune_command (FishApplet* fish, <span class='keyword'>int</span>* argcp, <span class='keyword'>char</span>*** argvp)</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>char</span> *prog = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;command</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> &amp;&amp; g_shell_parse_argv (fish-&gt;command, argcp, argvp, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> prog = g_find_program_in_path ((*argvp)[0]);</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> <span class='keyword'>if</span> (prog) {</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> g_free (prog);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> g_strfreev (*argvp);</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> prog = g_find_program_in_path (<span class='string_literal'>"fortune"</span>);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>if</span> (prog) {</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> g_free (prog);</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (g_shell_parse_argv (<span class='string_literal'>"fortune"</span>, argcp, argvp, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>if</span> (g_file_test (<span class='string_literal'>"/usr/games/fortune"</span>, G_FILE_TEST_IS_EXECUTABLE)</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> &amp;&amp; g_shell_parse_argv (<span class='string_literal'>"/usr/games/fortune"</span>, argcp, argvp, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> something_fishy_going_on (fish,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Unable to locate the command to execute"</span>)<span class='macro_popup'>gettext ("Unable to locate the command to execute")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> *argvp = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"><span class='directive'>#define <span class='macro'>FISH_RESPONSE_SPEAK<span class='macro_popup'>1</span></span> 1</span></td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> <span class='keyword'>void</span> fish_close_channel(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;io_channel) {</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> g_io_channel_shutdown (fish-&gt;io_channel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> g_io_channel_unref (fish-&gt;io_channel);</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> fish-&gt;io_channel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> handle_fortune_response(GtkWidget* widget, <span class='keyword'>int</span> id, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> <span class='keyword'>if</span> (id == <span class='macro'>FISH_RESPONSE_SPEAK<span class='macro_popup'>1</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> display_fortune_dialog (fish);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='comment'>/* if there is still a pipe, close it: if we hide the widget,</span></td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> <span class='comment'>* the * output can't be seen */</span></td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;source_id)</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> g_source_remove (fish-&gt;source_id);</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> fish-&gt;source_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> fish_close_channel (fish);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> gtk_widget_hide (fish-&gt;fortune_dialog);</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> update_fortune_dialog(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>char</span> *label_text;</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>char</span> *text;</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;fortune_dialog || !fish-&gt;name)</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='comment'>/* xgettext:no-c-format */</span></td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> text = g_strdup_printf (<span class='macro'>_(<span class='string_literal'>"%s the Fish"</span>)<span class='macro_popup'>gettext ("%s the Fish")</span></span>, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_window_get_type ())))))<br>)</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='comment'>/* xgettext:no-c-format */</span></td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> label_text = g_strdup_printf (<span class='macro'>_(<span class='string_literal'>"%s the Fish Says:"</span>)<span class='macro_popup'>gettext ("%s the Fish Says:")</span></span>, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> text = g_strdup_printf (<span class='string_literal'>"&lt;big&gt;&lt;big&gt;%s&lt;/big&gt;&lt;/big&gt;"</span>, label_text);</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> gtk_label_set_markup (<span class='macro'>GTK_LABEL (fish-&gt;fortune_label)<span class='macro_popup'>((((GtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_label)), ((gtk_label_get_type ()))))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> g_free (label_text);</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> set_ally_name_desc (fish-&gt;fortune_view, fish);</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> insert_fortune_text(FishApplet* fish, <span class='keyword'>const</span> <span class='keyword'>char</span>* text)</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> GtkTextIter iter;</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> gtk_text_buffer_get_iter_at_offset (fish-&gt;fortune_buffer, &amp;iter, -1);</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> gtk_text_buffer_insert_with_tags_by_name (fish-&gt;fortune_buffer, &amp;iter,</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> text, -1, <span class='string_literal'>"monospace_tag"</span>,</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='keyword'>while</span> (gtk_events_pending ())</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> gtk_main_iteration ();</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> clear_fortune_text(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> GtkTextIter begin, end;</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> gtk_text_buffer_get_iter_at_offset (fish-&gt;fortune_buffer, &amp;begin, 0);</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> gtk_text_buffer_get_iter_at_offset (fish-&gt;fortune_buffer, &amp;end, -1);</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> gtk_text_buffer_delete (fish-&gt;fortune_buffer, &amp;begin, &amp;end);</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> gtk_text_buffer_remove_tag_by_name (fish-&gt;fortune_buffer,</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='string_literal'>"monospace_tag"</span>, &amp;begin, &amp;end);</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> <span class='comment'>/* insert an empty line */</span></td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> insert_fortune_text (fish, <span class='string_literal'>"\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"><span class='keyword'>static</span> gboolean fish_read_output(GIOChannel* source, GIOCondition condition, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> <span class='keyword'>char</span> output[4096];</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> gsize bytes_read;</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> GIOStatus status;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> FishApplet *fish;</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> fish = (FishApplet *) data;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='keyword'>if</span> (!(condition &amp; G_IO_IN)) {</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> fish-&gt;source_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> fish_close_channel (fish);</td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> status = g_io_channel_read_chars (source, output, 4096, &amp;bytes_read,</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> <span class='keyword'>char</span> *message;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> message = g_strdup_printf (<span class='macro'>_(<span class='string_literal'>"Unable to read output from command\n\nDetails: %s"</span>)<span class='macro_popup'>gettext ("Unable to read output from command\n\nDetails: %s")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> something_fishy_going_on (fish, message);</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> g_free (message);</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> fish-&gt;source_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> fish_close_channel (fish);</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='keyword'>if</span> (status == G_IO_STATUS_AGAIN)</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> <span class='keyword'>if</span> (bytes_read &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> <span class='keyword'>char</span> *utf8_output;</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> <span class='comment'>/* The output is not guarantied to be in UTF-8 format, most</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='comment'>* likely it's just in ASCII-7 or in the user locale</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> <span class='keyword'>if</span> (!g_utf8_validate (output, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> utf8_output = g_locale_to_utf8 (output, bytes_read,</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> utf8_output = g_strndup (output, bytes_read);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> <span class='keyword'>if</span> (utf8_output)</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> insert_fortune_text (fish, utf8_output);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> g_free (utf8_output);</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> <span class='keyword'>if</span> (status == G_IO_STATUS_EOF) {</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> fish-&gt;source_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> fish_close_channel (fish);</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> <span class='keyword'>return</span> (status != G_IO_STATUS_EOF);</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> <span class='comment'>* Set the DISPLAY variable, to be use by g_spawn_async.</span></td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line">set_environment (gpointer display)</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"><span class='keyword'>static</span> GtkWidget*</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line">panel_dialog_add_button (GtkDialog *dialog,</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='keyword'>const</span> gchar *button_text,</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>const</span> gchar *icon_name,</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> gint response_id)</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> GtkWidget *button;</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> button = gtk_button_new_with_mnemonic (button_text);</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> gtk_button_set_image (<span class='macro'>GTK_BUTTON (button)<span class='macro_popup'>((((GtkButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_button_get_type ()))))))</span></span>, gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON));</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> gtk_button_set_use_underline (<span class='macro'>GTK_BUTTON (button)<span class='macro_popup'>((((GtkButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_button_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> gtk_style_context_add_class (gtk_widget_get_style_context (button), <span class='string_literal'>"text-button"</span>);</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> gtk_widget_set_can_default (button, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> gtk_widget_show (button);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> gtk_dialog_add_action_widget (<span class='macro'>GTK_DIALOG (dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_dialog_get_type ()))))))</span></span>, button, response_id);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>return</span> button;</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> display_fortune_dialog(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> gboolean user_command;</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> <span class='keyword'>int</span> output;</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *charset;</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> <span class='keyword'>int</span> argc;</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> <span class='keyword'>char</span> **argv;</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> <span class='keyword'>char</span> *display_name;</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='comment'>/* if there is still a pipe, close it */</span></td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;source_id)</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> g_source_remove (fish-&gt;source_id);</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> fish-&gt;source_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> fish_close_channel (fish);</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> user_command = locate_fortune_command (fish, &amp;argc, &amp;argv);</td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> <span class='keyword'>if</span> (!argv)</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;fortune_dialog) {</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> GtkWidget *scrolled;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> GtkWidget *vbox;</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> GdkMonitor *monitor;</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> fish-&gt;fortune_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_window_get_type ())))))<br>)</span></span>, <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> gtk_dialog_add_button (<span class='macro'>GTK_DIALOG (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_dialog_get_type ())))))<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"_Speak again"</span>)<span class='macro_popup'>gettext ("_Speak again")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='macro'>FISH_RESPONSE_SPEAK<span class='macro_popup'>1</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> panel_dialog_add_button (<span class='macro'>GTK_DIALOG (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_dialog_get_type ())))))<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"_Close"</span>)<span class='macro_popup'>gettext ("_Close")</span></span>, <span class='string_literal'>"window-close"</span>,</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> GTK_RESPONSE_CLOSE);</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> gtk_window_set_icon_name (<span class='macro'>GTK_WINDOW (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_window_get_type ())))))<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> gtk_dialog_set_default_response (</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> <span class='macro'>GTK_DIALOG (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_dialog_get_type ())))))<br>)</span></span>, GTK_RESPONSE_CLOSE);</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;fortune_dialog, <span class='string_literal'>"delete-event"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;fortune_dialog), ("delete-event"<br>), (((GCallback) (delete_event))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='macro'>G_CALLBACK (delete_event), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;fortune_dialog), ("delete-event"<br>), (((GCallback) (delete_event))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;fortune_dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;fortune_dialog), ("response"<br>), (((GCallback) (handle_fortune_response))), (fish), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='macro'>G_CALLBACK (handle_fortune_response), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;fortune_dialog), ("response"<br>), (((GCallback) (handle_fortune_response))), (fish), ((void*<br>)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> monitor = gdk_display_get_monitor_at_window (gtk_widget_get_display (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> gtk_widget_get_window (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> gdk_monitor_get_geometry(monitor, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> gtk_window_set_default_size (<span class='macro'>GTK_WINDOW (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_window_get_type ())))))<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> <span class='macro'>MIN (600, monitor_geom.width * 0.9)<span class='macro_popup'>(((600) &lt; (monitor_geom.width * 0.9)) ? (600) : (monitor_geom<br>.width * 0.9))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='macro'>MIN (350, monitor_geom.height * 0.9)<span class='macro_popup'>(((350) &lt; (monitor_geom.height * 0.9)) ? (350) : (monitor_geom<br>.height * 0.9))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> fish-&gt;fortune_view = gtk_text_view_new ();</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> gtk_text_view_set_editable (<span class='macro'>GTK_TEXT_VIEW (fish-&gt;fortune_view)<span class='macro_popup'>((((GtkTextView*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_view)), ((gtk_text_view_get_type ()))))<br>))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> gtk_text_view_set_cursor_visible (<span class='macro'>GTK_TEXT_VIEW (fish-&gt;fortune_view)<span class='macro_popup'>((((GtkTextView*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_view)), ((gtk_text_view_get_type ()))))<br>))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> gtk_text_view_set_left_margin (<span class='macro'>GTK_TEXT_VIEW (fish-&gt;fortune_view)<span class='macro_popup'>((((GtkTextView*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_view)), ((gtk_text_view_get_type ()))))<br>))</span></span>, 10);</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> gtk_text_view_set_right_margin (<span class='macro'>GTK_TEXT_VIEW (fish-&gt;fortune_view)<span class='macro_popup'>((((GtkTextView*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_view)), ((gtk_text_view_get_type ()))))<br>))</span></span>, 10);</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> fish-&gt;fortune_buffer =</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> gtk_text_view_get_buffer (<span class='macro'>GTK_TEXT_VIEW (fish-&gt;fortune_view)<span class='macro_popup'>((((GtkTextView*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_view)), ((gtk_text_view_get_type ()))))<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> gtk_text_buffer_create_tag (<span class='macro'>GTK_TEXT_BUFFER (fish-&gt;fortune_buffer)<span class='macro_popup'>((((GtkTextBuffer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_buffer)), ((gtk_text_buffer_get_type ()<br>))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='string_literal'>"monospace_tag"</span>, <span class='string_literal'>"family"</span>,</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> <span class='string_literal'>"Monospace"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> scrolled = gtk_scrolled_window_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> gtk_scrolled_window_set_policy (<span class='macro'>GTK_SCROLLED_WINDOW (scrolled)<span class='macro_popup'>((((GtkScrolledWindow*) (void *) g_type_check_instance_cast (<br>(GTypeInstance*) ((scrolled)), ((gtk_scrolled_window_get_type<br> ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> GTK_POLICY_AUTOMATIC,</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> GTK_POLICY_AUTOMATIC);</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> gtk_scrolled_window_set_shadow_type (<span class='macro'>GTK_SCROLLED_WINDOW (scrolled)<span class='macro_popup'>((((GtkScrolledWindow*) (void *) g_type_check_instance_cast (<br>(GTypeInstance*) ((scrolled)), ((gtk_scrolled_window_get_type<br> ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> GTK_SHADOW_IN);</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (scrolled)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((scrolled)), ((gtk_container_get_type ()))))))</span></span>, fish-&gt;fortune_view);</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> fish-&gt;fortune_label = gtk_label_new (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> gtk_label_set_ellipsize (<span class='macro'>GTK_LABEL (fish-&gt;fortune_label)<span class='macro_popup'>((((GtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_label)), ((gtk_label_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> PANGO_ELLIPSIZE_MIDDLE);</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> fish-&gt;fortune_cmd_label = gtk_label_new (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> gtk_label_set_xalign (<span class='macro'>GTK_LABEL (fish-&gt;fortune_cmd_label)<span class='macro_popup'>((((GtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_cmd_label)), ((gtk_label_get_type ())))<br>)))</span></span>, 0.0);</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> gtk_label_set_yalign (<span class='macro'>GTK_LABEL (fish-&gt;fortune_cmd_label)<span class='macro_popup'>((((GtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_cmd_label)), ((gtk_label_get_type ())))<br>)))</span></span>, 0.5);</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> vbox = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_dialog_get_type ())))))<br>)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> gtk_box_pack_start (<span class='macro'>GTK_BOX (vbox)<span class='macro_popup'>((((GtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((vbox)), ((gtk_box_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> fish-&gt;fortune_label,</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> gtk_box_pack_start (<span class='macro'>GTK_BOX (vbox)<span class='macro_popup'>((((GtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((vbox)), ((gtk_box_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> scrolled,</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> gtk_box_pack_start (<span class='macro'>GTK_BOX (vbox)<span class='macro_popup'>((((GtkBox*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((vbox)), ((gtk_box_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> fish-&gt;fortune_cmd_label,</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> update_fortune_dialog (fish);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> <span class='comment'>/* We don't show_all for the dialog since fortune_cmd_label</span></td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> <span class='comment'>* might need to be hidden</span></td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> <span class='comment'>* The dialog will be shown with gtk_window_present later */</span></td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> gtk_widget_show (scrolled);</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> gtk_widget_show (fish-&gt;fortune_view);</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> gtk_widget_show (fish-&gt;fortune_label);</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>if</span> (!user_command) {</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>char</span> *command;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>char</span> * text;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> command = g_markup_printf_escaped (<span class='string_literal'>"&lt;tt&gt;%s&lt;/tt&gt;"</span>, argv[0]);</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> text = g_strdup_printf (<span class='macro'>_(<span class='string_literal'>"The configured command is not "<span class='macro_popup'>gettext ("The configured command is not " "working and has been replaced by: "<br> "%s")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> <span class='string_literal'><span class='macro'>"working and has been replaced by: "<span class='macro_popup'>gettext ("The configured command is not " "working and has been replaced by: "<br> "%s")</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='string_literal'><span class='macro'>"%s"</span>)<span class='macro_popup'>gettext ("The configured command is not " "working and has been replaced by: "<br> "%s")</span></span>, command);</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> gtk_label_set_markup (<span class='macro'>GTK_LABEL (fish-&gt;fortune_cmd_label)<span class='macro_popup'>((((GtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_cmd_label)), ((gtk_label_get_type ())))<br>)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> text);</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> g_free (command);</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> gtk_widget_show (fish-&gt;fortune_cmd_label);</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> gtk_widget_hide (fish-&gt;fortune_cmd_label);</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> clear_fortune_text (fish);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> screen = gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> display_name = <span class='macro'>g_strdup (gdk_display_get_name (display))<span class='macro_popup'>g_strdup_inline (gdk_display_get_name (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> g_spawn_async_with_pipes (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* working directory */</span></td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* envp */</span></td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> G_SPAWN_SEARCH_PATH|G_SPAWN_STDERR_TO_DEV_NULL,</td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> set_environment,</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> &amp;display_name,</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* child pid */</span></td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* stdin */</span></td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> &amp;output,</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='comment'>/* stderr */</span></td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> g_free (display_name);</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>char</span> *message;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> message = g_strdup_printf (<span class='macro'>_(<span class='string_literal'>"Unable to execute '%s'\n\nDetails: %s"</span>)<span class='macro_popup'>gettext ("Unable to execute '%s'\n\nDetails: %s")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> argv[0], error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> something_fishy_going_on (fish, message);</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> g_free (message);</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> fish-&gt;io_channel = g_io_channel_unix_new (output);</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='comment'>/* set the correct encoding if the locale is not using UTF-8 */</span></td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> <span class='keyword'>if</span> (!g_get_charset (&amp;charset))</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> g_io_channel_set_encoding(fish-&gt;io_channel, charset, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='keyword'>char</span> *message;</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> message = g_strdup_printf (<span class='macro'>_(<span class='string_literal'>"Unable to read from '%s'\n\nDetails: %s"</span>)<span class='macro_popup'>gettext ("Unable to read from '%s'\n\nDetails: %s")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> argv[0], error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> something_fishy_going_on (fish, message);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> g_free (message);</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> fish-&gt;source_id = g_io_add_watch (fish-&gt;io_channel,</td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> G_IO_IN|G_IO_ERR|G_IO_HUP|G_IO_NVAL,</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> fish_read_output, fish);</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_window_get_type ())))))<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (fish-&gt;fortune_dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;fortune_dialog)), ((gtk_window_get_type ())))))<br>)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> name_changed_notify(GSettings* settings, gchar* key, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> value = g_settings_get_string (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> <span class='keyword'>if</span> (!value || *value == '\0' || (fish-&gt;name &amp;&amp; !strcmp (fish-&gt;name, value))) {</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> g_free (fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> fish-&gt;name = <span class='macro'>g_strdup (value)<span class='macro_popup'>g_strdup_inline (value)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> update_fortune_dialog (fish);</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> set_tooltip (fish);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> set_ally_name_desc (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>, fish);</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;name_entry &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> strcmp (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (fish-&gt;name_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;name_entry)), ((gtk_entry_get_type ()))))))</span></span>), fish-&gt;name))</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (fish-&gt;name_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;name_entry)), ((gtk_entry_get_type ()))))))</span></span>, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> image_changed_notify(GSettings* settings, gchar* key, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> value = g_settings_get_string (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>if</span> (!value || *value == '\0' || (fish-&gt;image &amp;&amp; !strcmp (fish-&gt;image, value))) {</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> g_free (fish-&gt;image);</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> fish-&gt;image = <span class='macro'>g_strdup (value)<span class='macro_popup'>g_strdup_inline (value)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> load_fish_image (fish);</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;image_chooser) {</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>char</span> *path_gsettings;</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> <span class='keyword'>char</span> *path_chooser;</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> path_gsettings = get_image_path (fish);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> path_chooser = gtk_file_chooser_get_filename (<span class='macro'>GTK_FILE_CHOOSER (fish-&gt;image_chooser)<span class='macro_popup'>((((GtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;image_chooser)), ((gtk_file_chooser_get_type ()<br>))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='keyword'>if</span> (strcmp (path_gsettings, path_chooser))</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> gtk_file_chooser_set_filename (<span class='macro'>GTK_FILE_CHOOSER (fish-&gt;image_chooser)<span class='macro_popup'>((((GtkFileChooser*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;image_chooser)), ((gtk_file_chooser_get_type ()<br>))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> path_gsettings);</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> g_free (path_gsettings);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> g_free (path_chooser);</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> command_changed_notify(GSettings* settings, gchar* key, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> value = g_settings_get_string (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>if</span> (!value || *value == '\0' || (fish-&gt;command &amp;&amp; !strcmp (fish-&gt;command, value))) {</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> g_free (fish-&gt;command);</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> fish-&gt;command = <span class='macro'>g_strdup (value)<span class='macro_popup'>g_strdup_inline (value)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;command_entry &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> strcmp (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (fish-&gt;command_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;command_entry)), ((gtk_entry_get_type ()))))))</span></span>), fish-&gt;command))</td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (fish-&gt;command_entry)<span class='macro_popup'>((((GtkEntry*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;command_entry)), ((gtk_entry_get_type ()))))))</span></span>, fish-&gt;command);</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> g_free (value);</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> n_frames_changed_notify(GSettings* settings, gchar* key, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> <span class='keyword'>int</span> value;</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> value = g_settings_get_int (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;n_frames == value)</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> fish-&gt;n_frames = value;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;n_frames &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> fish-&gt;n_frames = 1;</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;frames_spin &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> gtk_spin_button_get_value_as_int (<span class='macro'>GTK_SPIN_BUTTON (fish-&gt;frames_spin)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;frames_spin)), ((gtk_spin_button_get_type ())))<br>)))</span></span>) != fish-&gt;n_frames)</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> gtk_spin_button_set_value (<span class='macro'>GTK_SPIN_BUTTON (fish-&gt;frames_spin)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;frames_spin)), ((gtk_spin_button_get_type ())))<br>)))</span></span>, fish-&gt;n_frames);</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span>* get_location(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>char</span> location [256];</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> <span class='keyword'>char</span> *buffer;</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> FILE *zone;</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='keyword'>int</span> i, len, count;</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='comment'>/* Old method : works for glibc &lt; 2.2 */</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> zone = fopen(<span class='string_literal'>"/etc/timezone"</span>, <span class='string_literal'>"r"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='keyword'>if</span> (zone) {</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> count = fscanf (zone, <span class='string_literal'>"%255s"</span>, location);</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> fclose (zone);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='comment'>/* if we could read it, we return what we got */</span></td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> <span class='keyword'>if</span> (count == 1)</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> <span class='keyword'>return</span> location;</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> <span class='comment'>/* New method : works for glibc 2.2 */</span></td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='comment'>/* FIXME: this is broken for many distros, see the clock code */</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> buffer = g_file_read_link (<span class='string_literal'>"/etc/localtime"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='keyword'>if</span> (!buffer)</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> len = strlen (buffer);</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> <span class='keyword'>for</span> (i = len, count = 0; (i &gt; 0) &amp;&amp; (count != 2); i--)</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> <span class='keyword'>if</span> (buffer [i] == '/')</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> count++;</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> <span class='keyword'>if</span> (count != 2) {</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> g_free (buffer);</td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> memcpy (location, &amp;buffer [i + 2], len - i - 2);</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> g_free (buffer);</td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='keyword'>return</span> location;</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> init_fools_day(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *spanish_timezones [] = {</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> <span class='string_literal'>"Europe/Madrid"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='string_literal'>"Africa/Ceuta"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> <span class='string_literal'>"Atlantic/Canary"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> <span class='string_literal'>"America/Mexico_City"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> <span class='string_literal'>"Mexico/BajaSur"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='string_literal'>"Mexico/BajaNorte"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='string_literal'>"Mexico/General"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='keyword'>char</span> *location;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='keyword'>if</span> (!(location = get_location ()))</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> fools_day = 1; <span class='comment'>/* 1st */</span></td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> fools_month = 3; <span class='comment'>/* April */</span></td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> fools_hour_start = 0; <span class='comment'>/* Midnight */</span></td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> fools_hour_end = 12; <span class='comment'>/* Apparently jokes should stop at midday */</span></td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> <span class='keyword'>for</span> (i = 0; spanish_timezones [i]; i++)</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='keyword'>if</span> (!g_ascii_strcasecmp (spanish_timezones [i], location)) {</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> <span class='comment'>/* Hah!, We are in Spain or Mexico</span></td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='comment'>* Spanish fool's day is 28th December</span></td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> fools_day = 28;</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> fools_month = 11;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> check_april_fools(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> <span class='keyword'>struct</span> tm *tm;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> time_t now;</td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> time (&amp;now);</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> tm = localtime (&amp;now);</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;april_fools &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> (tm-&gt;tm_mon != fools_month ||</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> tm-&gt;tm_mday != fools_day ||</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> tm-&gt;tm_hour &gt;= fools_hour_end)) {</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> fish-&gt;april_fools = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (tm-&gt;tm_mon == fools_month &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> tm-&gt;tm_mday == fools_day &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> tm-&gt;tm_hour &gt;= fools_hour_start &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> tm-&gt;tm_hour &lt;= fools_hour_end) {</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> fish-&gt;april_fools = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"><span class='keyword'>static</span> gboolean timeout_handler(gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> FishApplet *fish = (FishApplet *) data;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> check_april_fools (fish);</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;april_fools)</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> fish-&gt;current_frame++;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;current_frame &gt;= fish-&gt;n_frames)</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> fish-&gt;current_frame = 0;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> gtk_widget_queue_draw (fish-&gt;drawing_area);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_timeout(FishApplet *fish)</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;timeout)</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> g_source_remove (fish-&gt;timeout);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> fish-&gt;timeout = g_timeout_add (fish-&gt;speed * 1000,</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> fish);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> speed_changed_notify(GSettings* settings, gchar* key, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> gdouble value;</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> value = g_settings_get_double (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;speed == value)</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> fish-&gt;speed = value;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> setup_timeout (fish);</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;speed_spin &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> gtk_spin_button_get_value (<span class='macro'>GTK_SPIN_BUTTON (fish-&gt;frames_spin)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;frames_spin)), ((gtk_spin_button_get_type ())))<br>)))</span></span>) != fish-&gt;speed)</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> gtk_spin_button_set_value (<span class='macro'>GTK_SPIN_BUTTON (fish-&gt;speed_spin)<span class='macro_popup'>((((GtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;speed_spin)), ((gtk_spin_button_get_type ()))))<br>))</span></span>, fish-&gt;speed);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> rotate_changed_notify(GSettings* settings, gchar* key, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> gboolean value;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> value = g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;rotate == value)</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> fish-&gt;rotate = value;</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;rotate_toggle &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (fish-&gt;rotate_toggle)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;rotate_toggle)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>) != fish-&gt;rotate)</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> gtk_toggle_button_set_active (</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='macro'>GTK_TOGGLE_BUTTON (fish-&gt;rotate_toggle)<span class='macro_popup'>((((GtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;rotate_toggle)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, fish-&gt;rotate);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_disable_commande_line_notify(GSettings* settings, gchar* key, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> gboolean locked_down;</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> locked_down = !g_settings_get_boolean (settings, key);</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;command_label != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> gtk_widget_set_sensitive (fish-&gt;command_label, locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;command_entry != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> gtk_widget_set_sensitive (fish-&gt;command_entry, locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_gsettings(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> MatePanelApplet *applet = (MatePanelApplet *) fish;</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> fish-&gt;settings = mate_panel_applet_settings_new (applet, <span class='macro'>FISH_SCHEMA<span class='macro_popup'>"org.mate.panel.applet.fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> fish-&gt;lockdown_settings = g_settings_new (<span class='macro'>LOCKDOWN_SCHEMA<span class='macro_popup'>"org.mate.lockdown"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "name"<br>), (((GCallback) (name_changed_notify))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::"</span> FISH_NAME_KEY,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "name"<br>), (((GCallback) (name_changed_notify))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='macro'>G_CALLBACK (name_changed_notify),<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "name"<br>), (((GCallback) (name_changed_notify))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "name"<br>), (((GCallback) (name_changed_notify))), (fish), ((void*)0),<br> (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "image"<br>), (((GCallback) (image_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::"</span> FISH_IMAGE_KEY,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "image"<br>), (((GCallback) (image_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> <span class='macro'>G_CALLBACK (image_changed_notify),<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "image"<br>), (((GCallback) (image_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "image"<br>), (((GCallback) (image_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "command"<br>), (((GCallback) (command_changed_notify))), (fish), ((void*)<br>0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::"</span> FISH_COMMAND_KEY,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "command"<br>), (((GCallback) (command_changed_notify))), (fish), ((void*)<br>0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='macro'>G_CALLBACK (command_changed_notify),<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "command"<br>), (((GCallback) (command_changed_notify))), (fish), ((void*)<br>0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "command"<br>), (((GCallback) (command_changed_notify))), (fish), ((void*)<br>0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "frames"<br>), (((GCallback) (n_frames_changed_notify))), (fish), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::"</span> FISH_FRAMES_KEY,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "frames"<br>), (((GCallback) (n_frames_changed_notify))), (fish), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='macro'>G_CALLBACK (n_frames_changed_notify),<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "frames"<br>), (((GCallback) (n_frames_changed_notify))), (fish), ((void*<br>)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "frames"<br>), (((GCallback) (n_frames_changed_notify))), (fish), ((void*<br>)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "speed"<br>), (((GCallback) (speed_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::"</span> FISH_SPEED_KEY,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "speed"<br>), (((GCallback) (speed_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='macro'>G_CALLBACK (speed_changed_notify),<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "speed"<br>), (((GCallback) (speed_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "speed"<br>), (((GCallback) (speed_changed_notify))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;settings,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "rotate"<br>), (((GCallback) (rotate_changed_notify))), (fish), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::"</span> FISH_ROTATE_KEY,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "rotate"<br>), (((GCallback) (rotate_changed_notify))), (fish), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> <span class='macro'>G_CALLBACK (rotate_changed_notify),<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "rotate"<br>), (((GCallback) (rotate_changed_notify))), (fish), ((void*)0<br>), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;settings), ("changed::" "rotate"<br>), (((GCallback) (rotate_changed_notify))), (fish), ((void*)0<br>), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;lockdown_settings,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;lockdown_settings), ("changed::"<br> "disable-command-line"), (((GCallback) (fish_disable_commande_line_notify<br>))), (fish), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> <span class='string_literal'><span class='macro'>"changed::"</span> LOCKDOWN_DISABLE_COMMAND_LINE_KEY,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;lockdown_settings), ("changed::"<br> "disable-command-line"), (((GCallback) (fish_disable_commande_line_notify<br>))), (fish), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>G_CALLBACK (fish_disable_commande_line_notify),<span class='macro_popup'>g_signal_connect_data ((fish-&gt;lockdown_settings), ("changed::"<br> "disable-command-line"), (((GCallback) (fish_disable_commande_line_notify<br>))), (fish), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;lockdown_settings), ("changed::"<br> "disable-command-line"), (((GCallback) (fish_disable_commande_line_notify<br>))), (fish), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"><span class='keyword'>static</span> gboolean load_fish_image(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> GdkPixbuf *pixbuf;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> <span class='keyword'>char</span> *path = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;image)</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> path = get_image_path (fish);</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> pixbuf = gdk_pixbuf_new_from_file (path, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> g_warning (<span class='string_literal'>"Cannot load '%s': %s"</span>, path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;pixbuf)</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> g_object_unref (fish-&gt;pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> fish-&gt;pixbuf = pixbuf;</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;preview_image)</td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> gtk_image_set_from_pixbuf (<span class='macro'>GTK_IMAGE (fish-&gt;preview_image)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;preview_image)), ((gtk_image_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> fish-&gt;pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line">update_pixmap_in_idle (gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> update_pixmap (<span class='macro'>FISH_APPLET (data)<span class='macro_popup'>((((FishApplet*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((data)), (fish_applet_get_type())))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> update_pixmap(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> GtkWidget *widget = fish-&gt;drawing_area;</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> GtkRequisition prev_requisition;</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>int</span> width = -1;</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> <span class='keyword'>int</span> height = -1;</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> <span class='keyword'>int</span> pixbuf_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> <span class='keyword'>int</span> pixbuf_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> gboolean rotate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> cairo_matrix_t matrix;</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget) ||</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> allocation.width &lt;= 0 ||</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> allocation.height &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;pixbuf &amp;&amp; !load_fish_image (fish))</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;rotate &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> (fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_RIGHT))</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> pixbuf_width = gdk_pixbuf_get_width (fish-&gt;pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> pixbuf_height = gdk_pixbuf_get_height (fish-&gt;pixbuf);</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> prev_requisition = fish-&gt;requisition;</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_UP ||</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_DOWN) {</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> height = allocation.height;</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> width = pixbuf_width * ((gdouble) height / pixbuf_height);</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> fish-&gt;requisition.width = width / fish-&gt;n_frames;</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> fish-&gt;requisition.height = height;</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='keyword'>if</span> (!rotate) {</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> width = allocation.width * fish-&gt;n_frames;</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> height = pixbuf_height * ((gdouble) width / pixbuf_width);</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> fish-&gt;requisition.width = allocation.width;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> fish-&gt;requisition.height = height;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> width = allocation.width;</td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> height = pixbuf_width * ((gdouble) width / pixbuf_height);</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> fish-&gt;requisition.width = width;</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> fish-&gt;requisition.height = height / fish-&gt;n_frames;</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>if</span> (prev_requisition.width != fish-&gt;requisition.width ||</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> prev_requisition.height != fish-&gt;requisition.height) {</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> gtk_widget_set_size_request (widget,</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> fish-&gt;requisition.width,</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> fish-&gt;requisition.height);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> <span class='macro'>g_assert (width != -1 &amp;&amp; height != -1)<span class='macro_popup'>do { if (width != -1 &amp;&amp; height != -1) ; else g_assertion_message_expr<br> (((gchar*) 0), "fish.c", 1406, ((const char*) (__func__)), "width != -1 &amp;&amp; height != -1"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>if</span> (width == 0 || height == 0)</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;surface)</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> cairo_surface_destroy (fish-&gt;surface);</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> fish-&gt;surface = gdk_window_create_similar_surface (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> fish-&gt;surface_width = width;</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line"> fish-&gt;surface_height = height;</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> <span class='macro'>g_assert (pixbuf_width != -1 &amp;&amp; pixbuf_height != -1)<span class='macro_popup'>do { if (pixbuf_width != -1 &amp;&amp; pixbuf_height != -1) ;<br> else g_assertion_message_expr (((gchar*) 0), "fish.c", 1421,<br> ((const char*) (__func__)), "pixbuf_width != -1 &amp;&amp; pixbuf_height != -1"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> cr = cairo_create (fish-&gt;surface);</td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> cairo_set_source_rgb (cr, 1, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> cairo_paint (cr);</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> gdk_cairo_set_source_pixbuf (cr, fish-&gt;pixbuf, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> pattern = cairo_get_source (cr);</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> cairo_pattern_set_filter (pattern, CAIRO_FILTER_BEST);</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> cairo_matrix_init_identity (&amp;matrix);</td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;april_fools) {</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> cairo_matrix_translate (&amp;matrix,</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> pixbuf_width - 1, pixbuf_height - 1);</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> cairo_matrix_rotate (&amp;matrix, <span class='macro'>G_PI<span class='macro_popup'>3.1415926535897932384626433832795028841971693993751</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> <span class='keyword'>if</span> (rotate) {</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_RIGHT) {</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> cairo_matrix_translate (&amp;matrix, pixbuf_width - 1, 0);</td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> cairo_matrix_rotate (&amp;matrix, <span class='macro'>G_PI_2<span class='macro_popup'>1.5707963267948966192313216916397514420985846996876</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> cairo_matrix_translate (&amp;matrix, 0, pixbuf_height - 1);</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> cairo_matrix_rotate (&amp;matrix, <span class='macro'>G_PI<span class='macro_popup'>3.1415926535897932384626433832795028841971693993751</span></span> * 1.5);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> cairo_matrix_scale (&amp;matrix,</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> (<span class='keyword'>double</span>) (pixbuf_height - 1) / width,</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> (<span class='keyword'>double</span>) (pixbuf_width - 1) / height);</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> cairo_matrix_scale (&amp;matrix,</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> (<span class='keyword'>double</span>) (pixbuf_width - 1) / width,</td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> (<span class='keyword'>double</span>) (pixbuf_height - 1) / height);</td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> cairo_pattern_set_matrix (pattern, &amp;matrix);</td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;april_fools) {</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> cairo_set_source_rgb (cr, 1, 0.5, 0);</td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> cairo_paint_with_alpha (cr, 0.25);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"><span class='keyword'>static</span> gboolean fish_applet_draw(GtkWidget* widget, cairo_t *cr, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> <span class='keyword'>int</span> src_x, src_y;</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='macro'>g_return_val_if_fail (fish-&gt;surface != NULL, FALSE)<span class='macro_popup'>do { if ((fish-&gt;surface != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "fish-&gt;surface != NULL"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> <span class='macro'>g_assert (fish-&gt;n_frames &gt; 0)<span class='macro_popup'>do { if (fish-&gt;n_frames &gt; 0) ; else g_assertion_message_expr<br> (((gchar*) 0), "fish.c", 1477, ((const char*) (__func__)), "fish-&gt;n_frames &gt; 0"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> width = fish-&gt;surface_width;</td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> height = fish-&gt;surface_height;</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> src_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> src_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;rotate) {</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> src_y += ((height * (fish-&gt;n_frames - 1 - fish-&gt;current_frame)) / fish-&gt;n_frames);</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (fish-&gt;orientation == MATE_PANEL_APPLET_ORIENT_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> src_y += ((height * fish-&gt;current_frame) / fish-&gt;n_frames);</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> src_x += ((width * fish-&gt;current_frame) / fish-&gt;n_frames);</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> src_x += ((width * fish-&gt;current_frame) / fish-&gt;n_frames);</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> cairo_set_source_surface (cr, fish-&gt;surface, -src_x, -src_y);</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> cairo_paint (cr);</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_applet_size_allocate(GtkWidget* widget, GtkAllocation* allocation, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> <span class='keyword'>if</span> (allocation-&gt;width == fish-&gt;prev_allocation.width &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> allocation-&gt;height == fish-&gt;prev_allocation.height)</td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> fish-&gt;prev_allocation = *allocation;</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> g_idle_add (update_pixmap_in_idle, fish);</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_applet_realize(GtkWidget* widget, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;surface)</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_applet_unrealize(GtkWidget* widget, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;surface)</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> cairo_surface_destroy (fish-&gt;surface);</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> fish-&gt;surface = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> fish-&gt;surface_width = 0;</td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> fish-&gt;surface_height = 0;</td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_applet_change_orient(MatePanelApplet* applet, MatePanelAppletOrient orientation)</td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> FishApplet *fish = (FishApplet *) applet;</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;orientation == orientation)</td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> fish-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;surface)</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> change_water(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> GtkWidget *dialog;</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> dialog = gtk_message_dialog_new (</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, GTK_MESSAGE_INFO,</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> GTK_BUTTONS_OK,</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"The water needs changing"</span>)<span class='macro_popup'>gettext ("The water needs changing")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> gtk_message_dialog_format_secondary_text (<span class='macro'>GTK_MESSAGE_DIALOG (dialog)<span class='macro_popup'>((((GtkMessageDialog*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((gtk_message_dialog_get_type ())<br>)))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Look at today's date!"</span>)<span class='macro_popup'>gettext ("Look at today's date!")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> gtk_window_set_icon_name (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> gtk_widget_show_all (dialog);</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> <span class='macro'>g_signal_connect (dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_destroy), NULL)<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"><span class='keyword'>static</span> gboolean handle_keypress(GtkWidget* widget, GdkEventKey* event, FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_space<span class='macro_popup'>0x020</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Space<span class='macro_popup'>0xff80</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Return<span class='macro_popup'>0xff0d</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Enter<span class='macro_popup'>0xff8d</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_ISO_Enter<span class='macro_popup'>0xfe34</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_3270_Enter<span class='macro_popup'>0xfd1e</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;april_fools) {</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> change_water (fish);</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> display_fortune_dialog (fish);</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> <span class="mrange"><span class='keyword'>break</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:17ex">This statement is never executed</div></td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"><span class='keyword'>static</span> gboolean fish_enter_notify(GtkWidget* widget, GdkEventCrossing* event)</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> FishApplet *fish;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> GtkWidget *event_widget;</td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> fish = <span class='macro'>FISH_APPLET (widget)<span class='macro_popup'>((((FishApplet*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), (fish_applet_get_type())))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> event_widget = gtk_get_event_widget ((GdkEvent*) event);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> <span class='keyword'>if</span> ((event_widget == widget) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> (event-&gt;detail != GDK_NOTIFY_INFERIOR))</td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> fish-&gt;in_applet = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"><span class='keyword'>static</span> gboolean fish_leave_notify(GtkWidget* widget, GdkEventCrossing* event)</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> FishApplet *fish;</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> GtkWidget *event_widget;</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> fish = <span class='macro'>FISH_APPLET (widget)<span class='macro_popup'>((((FishApplet*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), (fish_applet_get_type())))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> event_widget = gtk_get_event_widget ((GdkEvent*) event);</td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> <span class='keyword'>if</span> ((event_widget == widget) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> (event-&gt;detail != GDK_NOTIFY_INFERIOR))</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> fish-&gt;in_applet = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"><span class='keyword'>static</span> gboolean handle_button_release(FishApplet* fish, GdkEventButton* event)</td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;in_applet || event-&gt;button != 1)</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;april_fools) {</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> change_water (fish);</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> display_fortune_dialog (fish);</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> set_tooltip(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *desc_format = <span class='macro'>_(<span class='string_literal'>"%s the Fish, the fortune teller"</span>)<span class='macro_popup'>gettext ("%s the Fish, the fortune teller")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> <span class='keyword'>char</span> *desc;</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> desc = g_markup_printf_escaped (desc_format, fish-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line"> gtk_widget_set_tooltip_markup (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>, desc);</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> g_free (desc);</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> setup_fish_widget(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> GtkWidget *widget = (GtkWidget *) fish;</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> fish-&gt;frame = gtk_frame_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> gtk_frame_set_shadow_type (<span class='macro'>GTK_FRAME (fish-&gt;frame)<span class='macro_popup'>((((GtkFrame*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;frame)), ((gtk_frame_get_type ()))))))</span></span>, GTK_SHADOW_IN);</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>, fish-&gt;frame);</td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> fish-&gt;drawing_area = gtk_drawing_area_new ();</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (fish-&gt;frame)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish-&gt;frame)), ((gtk_container_get_type ()))))))</span></span>, fish-&gt;drawing_area);</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;drawing_area, <span class='string_literal'>"realize"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("realize"), (<br>((GCallback) (fish_applet_realize))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='macro'>G_CALLBACK (fish_applet_realize), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("realize"), (<br>((GCallback) (fish_applet_realize))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;drawing_area, <span class='string_literal'>"unrealize"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("unrealize")<br>, (((GCallback) (fish_applet_unrealize))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> <span class='macro'>G_CALLBACK (fish_applet_unrealize), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("unrealize")<br>, (((GCallback) (fish_applet_unrealize))), (fish), ((void*)0)<br>, (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;drawing_area, <span class='string_literal'>"size-allocate"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("size-allocate"<br>), (((GCallback) (fish_applet_size_allocate))), (fish), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> <span class='macro'>G_CALLBACK (fish_applet_size_allocate), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("size-allocate"<br>), (((GCallback) (fish_applet_size_allocate))), (fish), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"> <span class='macro'>g_signal_connect (fish-&gt;drawing_area, <span class='string_literal'>"draw"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("draw"), (((<br>GCallback) (fish_applet_draw))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line"> <span class='macro'>G_CALLBACK (fish_applet_draw), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("draw"), (((<br>GCallback) (fish_applet_draw))), (fish), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"> gtk_widget_add_events (widget, GDK_ENTER_NOTIFY_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line"> GDK_LEAVE_NOTIFY_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> <span class='macro'>g_signal_connect_swapped (widget, <span class='string_literal'>"enter-notify-event"</span>,<span class='macro_popup'>g_signal_connect_data ((widget), ("enter-notify-event"), (((GCallback<br>) (fish_enter_notify))), (fish), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> <span class='macro'>G_CALLBACK (fish_enter_notify), fish)<span class='macro_popup'>g_signal_connect_data ((widget), ("enter-notify-event"), (((GCallback<br>) (fish_enter_notify))), (fish), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> <span class='macro'>g_signal_connect_swapped (widget, <span class='string_literal'>"leave-notify-event"</span>,<span class='macro_popup'>g_signal_connect_data ((widget), ("leave-notify-event"), (((GCallback<br>) (fish_leave_notify))), (fish), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> <span class='macro'>G_CALLBACK (fish_leave_notify), fish)<span class='macro_popup'>g_signal_connect_data ((widget), ("leave-notify-event"), (((GCallback<br>) (fish_leave_notify))), (fish), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> <span class='macro'>g_signal_connect_swapped (widget, <span class='string_literal'>"button-release-event"</span>,<span class='macro_popup'>g_signal_connect_data ((widget), ("button-release-event"), ((<br>(GCallback) (handle_button_release))), (fish), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> <span class='macro'>G_CALLBACK (handle_button_release), fish)<span class='macro_popup'>g_signal_connect_data ((widget), ("button-release-event"), ((<br>(GCallback) (handle_button_release))), (fish), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> gtk_widget_add_events (fish-&gt;drawing_area, GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> <span class='macro'>g_signal_connect_swapped (fish-&gt;drawing_area, <span class='string_literal'>"button-release-event"</span>,<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("button-release-event"<br>), (((GCallback) (handle_button_release))), (fish), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> <span class='macro'>G_CALLBACK (handle_button_release), fish)<span class='macro_popup'>g_signal_connect_data ((fish-&gt;drawing_area), ("button-release-event"<br>), (((GCallback) (handle_button_release))), (fish), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> load_fish_image (fish);</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> update_pixmap (fish);</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> setup_timeout (fish);</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> set_tooltip (fish);</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> set_ally_name_desc (<span class='macro'>GTK_WIDGET (fish)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((fish)), ((gtk_widget_get_type ()))))))</span></span>, fish);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> <span class='macro'>g_signal_connect (fish, <span class='string_literal'>"key-press-event"</span>,<span class='macro_popup'>g_signal_connect_data ((fish), ("key-press-event"), (((GCallback<br>) (handle_keypress))), (fish), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"> <span class='macro'>G_CALLBACK (handle_keypress), fish)<span class='macro_popup'>g_signal_connect_data ((fish), ("key-press-event"), (((GCallback<br>) (handle_keypress))), (fish), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> gtk_widget_show_all (widget);</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry fish_menu_verbs[] = {</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> { <span class='string_literal'>"FishPreferences"</span>, <span class='string_literal'>"document-properties"</span>, <span class='macro'>N_(<span class='string_literal'>"_Preferences"</span>)<span class='macro_popup'>("_Preferences")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> <span class='macro'>G_CALLBACK (display_preferences_dialog)<span class='macro_popup'>((GCallback) (display_preferences_dialog))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> { <span class='string_literal'>"FishHelp"</span>, <span class='string_literal'>"help-browser"</span>, <span class='macro'>N_(<span class='string_literal'>"_Help"</span>)<span class='macro_popup'>("_Help")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> <span class='macro'>G_CALLBACK (display_help_dialog)<span class='macro_popup'>((GCallback) (display_help_dialog))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> { <span class='string_literal'>"FishAbout"</span>, <span class='string_literal'>"help-about"</span>, <span class='macro'>N_(<span class='string_literal'>"_About"</span>)<span class='macro_popup'>("_About")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> <span class='macro'>G_CALLBACK (display_about_dialog)<span class='macro_popup'>((GCallback) (display_about_dialog))</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"><span class='keyword'>static</span> gboolean fish_applet_fill(FishApplet* fish)</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> MatePanelApplet* applet = (MatePanelApplet*) fish;</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> GtkActionGroup* action_group;</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> fish-&gt;orientation = mate_panel_applet_get_orient (applet);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> setup_gsettings (fish);</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> fish-&gt;name = g_settings_get_string (fish-&gt;settings, <span class='macro'>FISH_NAME_KEY<span class='macro_popup'>"name"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;name)</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> fish-&gt;name = <span class='macro'>g_strdup (<span class='string_literal'>"Wanda"</span>)<span class='macro_popup'>g_strdup_inline ("Wanda")</span></span>; <span class='comment'>/* Fallback */</span></td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> fish-&gt;image = g_settings_get_string (fish-&gt;settings, <span class='macro'>FISH_IMAGE_KEY<span class='macro_popup'>"image"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> <span class='keyword'>if</span> (!fish-&gt;image)</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> fish-&gt;image = <span class='macro'>g_strdup (<span class='string_literal'>"fishanim.png"</span>)<span class='macro_popup'>g_strdup_inline ("fishanim.png")</span></span>; <span class='comment'>/* Fallback */</span></td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> fish-&gt;command = g_settings_get_string (fish-&gt;settings, <span class='macro'>FISH_COMMAND_KEY<span class='macro_popup'>"command"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> fish-&gt;n_frames = g_settings_get_int (fish-&gt;settings, <span class='macro'>FISH_FRAMES_KEY<span class='macro_popup'>"frames"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;n_frames &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> fish-&gt;n_frames = 1;</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> fish-&gt;speed = g_settings_get_double (fish-&gt;settings, <span class='macro'>FISH_SPEED_KEY<span class='macro_popup'>"speed"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> fish-&gt;rotate = g_settings_get_boolean (fish-&gt;settings, <span class='macro'>FISH_ROTATE_KEY<span class='macro_popup'>"rotate"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> action_group = gtk_action_group_new (<span class='string_literal'>"Fish Applet Actions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> gtk_action_group_set_translation_domain (action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> gtk_action_group_add_actions (action_group,</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> fish_menu_verbs,</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> <span class='macro'>G_N_ELEMENTS (fish_menu_verbs)<span class='macro_popup'>(sizeof (fish_menu_verbs) / sizeof ((fish_menu_verbs)[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> fish);</td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> mate_panel_applet_setup_menu_from_resource (applet,</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='macro'>FISH_RESOURCE_PATH<span class='macro_popup'>"/org/mate/panel/applet/fish/"</span></span> <span class='string_literal'>"fish-menu.xml"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_get_locked_down (applet)) {</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> GtkAction *action;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> action = gtk_action_group_get_action (action_group, <span class='string_literal'>"FishPreferences"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> gtk_action_set_visible (action, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> g_object_unref (action_group);</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> <span class='directive'>#ifndef <span class='macro'>FISH_INPROCESS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> gtk_window_set_default_icon_name(<span class='macro'>FISH_ICON<span class='macro_popup'>"mate-panel-fish"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> <span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> setup_fish_widget(fish);</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"><span class='keyword'>static</span> gboolean fishy_factory(MatePanelApplet* applet, <span class='keyword'>const</span> <span class='keyword'>char</span>* iid, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> <span class='keyword'>if</span> (!strcmp(iid, <span class='string_literal'>"FishApplet"</span>))</td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> retval = fish_applet_fill(<span class='macro'>FISH_APPLET(applet)<span class='macro_popup'>((((FishApplet*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (fish_applet_get_type())))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_applet_dispose (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> FishApplet* fish = (FishApplet*) object;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;settings != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (fish-&gt;settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((fish-&gt;settings), G_SIGNAL_MATCH_DATA<br>, 0, 0, ((void*)0), ((void*)0), (fish))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> <span class='macro'>fish)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((fish-&gt;settings), G_SIGNAL_MATCH_DATA<br>, 0, 0, ((void*)0), ((void*)0), (fish))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;timeout)</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line"> g_source_remove (fish-&gt;timeout);</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> fish-&gt;timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line"> <span class='macro'>g_clear_object (&amp;fish-&gt;settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;fish-&gt;settings)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;fish-&gt;settings))) _pp = ((&amp;fish-&gt;settings)); __typeof__<br> (*((&amp;fish-&gt;settings))) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> <span class='macro'>g_clear_object (&amp;fish-&gt;lockdown_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;fish-&gt;lockdown_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;fish-&gt;lockdown_settings))) _pp = ((&amp;fish-&gt;<br>lockdown_settings)); __typeof__ (*((&amp;fish-&gt;lockdown_settings<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;fish-&gt;name, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;fish-&gt;name) == sizeof (<br>gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>fish-&gt;name)) _pp = (&amp;fish-&gt;name); __typeof__ (*(&amp;<br>fish-&gt;name)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;fish-&gt;image, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;fish-&gt;image) == sizeof (<br>gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>fish-&gt;image)) _pp = (&amp;fish-&gt;image); __typeof__ (*(&amp;<br>fish-&gt;image)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;fish-&gt;command, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;fish-&gt;command) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>fish-&gt;command)) _pp = (&amp;fish-&gt;command); __typeof__ (<br>*(&amp;fish-&gt;command)) _ptr = *_pp; *_pp = ((void*)0); if (<br>_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;surface)</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> cairo_surface_destroy (fish-&gt;surface);</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> fish-&gt;surface = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> fish-&gt;surface_width = 0;</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line"> fish-&gt;surface_height = 0;</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"> <span class='macro'>g_clear_object (&amp;fish-&gt;pixbuf)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;fish-&gt;pixbuf)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;fish-&gt;pixbuf))) _pp = ((&amp;fish-&gt;pixbuf)); __typeof__<br> (*((&amp;fish-&gt;pixbuf))) _ptr = *_pp; *_pp = ((void*)0); if<br> (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;preferences_dialog)</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> gtk_widget_destroy (fish-&gt;preferences_dialog);</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> fish-&gt;preferences_dialog = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;fortune_dialog)</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> gtk_widget_destroy (fish-&gt;fortune_dialog);</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> fish-&gt;fortune_dialog = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> <span class='keyword'>if</span> (fish-&gt;source_id)</td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> g_source_remove (fish-&gt;source_id);</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> fish-&gt;source_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line"> fish_close_channel (fish);</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((parent_class)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>-&gt;dispose (object);</td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_applet_instance_init(FishApplet* fish, FishAppletClass* klass)</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> fish-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> fish-&gt;image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line"> fish-&gt;command = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> fish-&gt;n_frames = 1;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> fish-&gt;speed = 0.0;</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> fish-&gt;rotate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> fish-&gt;orientation = MATE_PANEL_APPLET_ORIENT_UP;</td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> fish-&gt;frame = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> fish-&gt;drawing_area = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> fish-&gt;surface = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> fish-&gt;timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> fish-&gt;current_frame = 0;</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> fish-&gt;in_applet = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> fish-&gt;requisition.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> fish-&gt;requisition.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> fish-&gt;prev_allocation.x = -1;</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> fish-&gt;prev_allocation.y = -1;</td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> fish-&gt;prev_allocation.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> fish-&gt;prev_allocation.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> fish-&gt;pixbuf = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line"> fish-&gt;preferences_dialog = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> fish-&gt;name_entry = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> fish-&gt;command_label = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> fish-&gt;command_entry = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> fish-&gt;preview_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> fish-&gt;image_chooser = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> fish-&gt;frames_spin = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> fish-&gt;speed_spin = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> fish-&gt;rotate_toggle = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> fish-&gt;fortune_dialog = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> fish-&gt;fortune_view = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> fish-&gt;fortune_label = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> fish-&gt;fortune_cmd_label = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> fish-&gt;fortune_buffer = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> fish-&gt;source_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line"> fish-&gt;io_channel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"> fish-&gt;april_fools = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line"> mate_panel_applet_set_flags (MATE_PANEL_APPLET (fish), MATE_PANEL_APPLET_EXPAND_MINOR);</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> fish_applet_class_init(FishAppletClass* klass)</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> MatePanelAppletClass* applet_class = (MatePanelAppletClass*) klass;</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> parent_class = g_type_class_peek_parent(klass);</td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> applet_class-&gt;change_orient = fish_applet_change_orient;</td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> gobject_class-&gt;dispose = fish_applet_dispose;</td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> init_fools_day();</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"><span class='keyword'>static</span> GType fish_applet_get_type(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> <span class='keyword'>static</span> GType type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line"> <span class='keyword'>if</span> (!type)</td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line"> <span class='keyword'>sizeof</span>(MatePanelAppletClass),</td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> (GClassInitFunc) fish_applet_class_init,</td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"> <span class='keyword'>sizeof</span>(FishApplet),</td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> (GInstanceInitFunc) fish_applet_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line"> type = g_type_register_static(<span class='macro'>PANEL_TYPE_APPLET<span class='macro_popup'>mate_panel_applet_get_type ()</span></span>, <span class='string_literal'>"FishApplet"</span>, &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> <span class='keyword'>return</span> type;</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"><span class='directive'>#ifdef <span class='macro'>FISH_INPROCESS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_IN_PROCESS_FACTORY(<span class='string_literal'>"FishAppletFactory"</span>, fish_applet_get_type(), <span class='string_literal'>"That-stupid-fish"</span>, fishy_factory, NULL)<span class='macro_popup'>gboolean _mate_panel_applet_shlib_factory (void); __attribute__<br>((visibility("default"))) gint _mate_panel_applet_shlib_factory<br>(void) { do { bindtextdomain ("mate-panel", "/usr/local/share/locale"<br>); bind_textdomain_codeset ("mate-panel", "UTF-8"); if ((0)) textdomain<br> ("mate-panel"); } while (0); return mate_panel_applet_factory_setup_in_process<br> ("FishAppletFactory", fish_applet_get_type(), fishy_factory,<br> ((void*)0)); }</span></span></td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_OUT_PROCESS_FACTORY(<span class='string_literal'>"FishAppletFactory"</span>, fish_applet_get_type(), <span class='string_literal'>"That-stupid-fish"</span>, fishy_factory, NULL)<span class='macro_popup'>int main(int argc, char *argv[]) { GOptionContext *context; GError<br> *error; int retval; do { bindtextdomain ("mate-panel", "/usr/local/share/locale"<br>); bind_textdomain_codeset ("mate-panel", "UTF-8"); if ((!(0)<br>)) textdomain ("mate-panel"); } while (0); context = g_option_context_new<br>(""); g_option_context_add_group (context, gtk_get_option_group<br>((!(0)))); error = ((void*)0); if (!g_option_context_parse (context<br>, &amp;argc, &amp;argv, &amp;error)) { if (error) { g_printerr<br> ("Cannot parse arguments: %s.\n", error-&gt;message); g_error_free<br> (error); } else { g_printerr ("Cannot parse arguments.\n"); }<br> g_option_context_free (context); return 1; } gtk_init (&amp;<br>argc, &amp;argv); retval = mate_panel_applet_factory_main ("FishAppletFactory"<br>,(!(0)), fish_applet_get_type(), fishy_factory, ((void*)0)); g_option_context_free<br> (context); return retval; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"><span class='directive'>#endif</span></td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-d08495.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-d08495.html
new file mode 100644
index 00000000..17f6c981
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-d08495.html
@@ -0,0 +1,3246 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet.c -->
+
+<!-- FILENAME mate-panel-applet.c -->
+
+<!-- FUNCTIONNAME mate_panel_applet_set_size_hints -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT d084952c1fb95e30c894f7d595f5cc8d -->
+
+<!-- BUGLINE 329 -->
+
+<!-- BUGCOLUMN 37 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 329, column 37</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"329": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet.c: panel applet writing library.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (c) 2010 Carlos Garcia Campos &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2001 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;cairo-xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;gtk/gtkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;X11/Xatom.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-plug-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-applet-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "mate-panel-applet-factory.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "mate-panel-applet-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "mate-panel-applet-enums.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget *plug;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> GDBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gboolean out_of_process;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> GClosure *closure;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint object_id;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>char</span> *prefs_path;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> GtkUIManager *ui_manager;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkActionGroup *applet_action_group;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> GtkActionGroup *panel_action_group;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint size;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>char</span> *background;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>int</span> previous_width;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>int</span> previous_height;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='keyword'>int</span> size_hints_len;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gboolean moving_focus_out;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> gboolean locked_down;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} MatePanelAppletPrivate;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> CHANGE_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> CHANGE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> CHANGE_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> MOVE_FOCUS_OUT_OF_APPLET,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"><span class='keyword'>static</span> guint mate_panel_applet_signals[LAST_SIGNAL] = { 0 };</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> PROP_LOCKED_DOWN</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_handle_background (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> GtkAction *mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>const</span> gchar *action);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_update_actions (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_register_object (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css (GtkWidget* widget, MatePanelAppletBackgroundType type);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar panel_menu_ui[] =</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='string_literal'>"&lt;ui&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>" &lt;popup name=\"MatePanelAppletPopup\" action=\"PopupAction\"&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='string_literal'>" &lt;placeholder name=\"AppletItems\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"RemoveItem\" action=\"Remove\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"MoveItem\" action=\"Move\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"LockItem\" action=\"Lock\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='string_literal'>" &lt;/popup&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='string_literal'>"&lt;/ui&gt;\n"</span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry menu_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> { <span class='string_literal'>"Remove"</span>, <span class='string_literal'>"list-remove"</span>, <span class='macro'>N_(<span class='string_literal'>"_Remove From Panel"</span>)<span class='macro_popup'>("_Remove From Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_remove)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_remove))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> { <span class='string_literal'>"Move"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"_Move"</span>)<span class='macro_popup'>("_Move")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_move)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_move))</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkToggleActionEntry menu_toggle_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> { <span class='string_literal'>"Lock"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"Loc_k To Panel"</span>)<span class='macro_popup'>("Loc_k To Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_lock)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_lock))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (MatePanelApplet, mate_panel_applet, GTK_TYPE_EVENT_BOX)<span class='macro_popup'>static void mate_panel_applet_init (MatePanelApplet *self); static<br> void mate_panel_applet_class_init (MatePanelAppletClass *klass<br>); static GType mate_panel_applet_get_type_once (void); static<br> gpointer mate_panel_applet_parent_class = ((void*)0); static<br> gint MatePanelApplet_private_offset; static void mate_panel_applet_class_intern_init<br> (gpointer klass) { mate_panel_applet_parent_class = g_type_class_peek_parent<br> (klass); if (MatePanelApplet_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;MatePanelApplet_private_offset); mate_panel_applet_class_init<br> ((MatePanelAppletClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer mate_panel_applet_get_instance_private<br> (MatePanelApplet *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (MatePanelApplet_private_offset)))); } GType mate_panel_applet_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = mate_panel_applet_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType mate_panel_applet_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_event_box_get_type ()), g_intern_static_string ("MatePanelApplet"<br>), sizeof (MatePanelAppletClass), (GClassInitFunc)(void (*)(void<br>)) mate_panel_applet_class_intern_init, sizeof (MatePanelApplet<br>), (GInstanceInitFunc)(void (*)(void)) mate_panel_applet_init<br>, (GTypeFlags) 0); { {{ MatePanelApplet_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (MatePanelAppletPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span> "org.mate.panel.applet.Applet"</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span> "/org/mate/panel/applet/%s/%d"</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">mate_panel_applet_get_preferences_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (priv-&gt;prefs_path)<span class='macro_popup'>g_strdup_inline (priv-&gt;prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">mate_panel_applet_set_preferences_path (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;prefs_path == prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;prefs_path, prefs_path) == 0)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>if</span> (prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> priv-&gt;prefs_path = <span class='macro'>g_strdup (prefs_path)<span class='macro_popup'>g_strdup_inline (prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"prefs-path"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">MatePanelAppletFlags</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line">mate_panel_applet_get_flags (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), MATE_PANEL_APPLET_FLAGS_NONE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (MATE_PANEL_APPLET_FLAGS_NONE); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>return</span> priv-&gt;flags;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">mate_panel_applet_set_flags (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> MatePanelAppletFlags flags)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;flags == flags)</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> priv-&gt;flags = flags;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"flags"</span>);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> g_variant_new_uint32 (priv-&gt;flags));</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::Flags: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line">mate_panel_applet_size_hints_ensure (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> new_size)</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints &amp;&amp; priv-&gt;size_hints_len &lt; new_size) {</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> g_free (priv-&gt;size_hints);</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!priv-&gt;size_hints) {</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> priv-&gt;size_hints_len = new_size;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line">mate_panel_applet_size_hints_changed (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;size_hints)</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints_len != n_elements)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++) {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>if</span> (size_hints[i] + base_size != priv-&gt;size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='comment'>* mate_panel_applet_set_size_hints:</span></td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='comment'>* @applet: applet</span></td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='comment'>* @size_hints: (array length=n_elements): List of integers</span></td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='comment'>* @n_elements: Length of @size_hints</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='comment'>* @base_size: base_size</span></td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line">mate_panel_applet_set_size_hints (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='comment'>/* Make sure property has really changed to avoid bus traffic */</span></td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_size_hints_changed (applet, size_hints, n_elements, base_size))</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> mate_panel_applet_size_hints_ensure (applet, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> priv-&gt;size_hints[i] = size_hints[i] + base_size;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size-hints"</span>);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> g_variant_builder_init (&amp;builder, <span class="mrange"><span class="mrange"><span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span></span></span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:51ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> children, priv-&gt;size_hints_len));</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::SizeHints: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line">guint</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line">mate_panel_applet_get_size (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>return</span> priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"><span class='comment'>/* Applets cannot set their size, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line">mate_panel_applet_set_size (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> guint size)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE],</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> 0, size);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line">MatePanelAppletOrient</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">mate_panel_applet_get_orient (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span> priv-&gt;orient;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"><span class='comment'>/* Applets cannot set their orientation, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">mate_panel_applet_set_orient (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> MatePanelAppletOrient orient)</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == orient)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> priv-&gt;orient = orient;</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT],</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> 0, orient);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orient"</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line">mate_panel_applet_set_locked (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> gboolean locked)</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> GtkAction *action;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked == locked)</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> priv-&gt;locked = locked;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> action = mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>);</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='macro'>g_signal_handlers_block_by_func (action,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> gtk_toggle_action_set_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>, locked);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='macro'>g_signal_handlers_unblock_by_func (action,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked"</span>);</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal %s: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line">mate_panel_applet_get_locked_down (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> priv-&gt;locked_down;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"><span class='comment'>/* Applets cannot set the lockdown state, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line">mate_panel_applet_set_locked_down (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> gboolean locked_down)</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked_down == locked_down)</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> priv-&gt;locked_down = locked_down;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked-down"</span>);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type_dock = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"><span class='keyword'>static</span> Atom _net_active_window = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line">mate_panel_applet_init_atoms (Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> _net_wm_window_type = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE"</span>,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type_dock == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> _net_wm_window_type_dock = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE_DOCK"</span>,</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (_net_active_window == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> _net_active_window = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='string_literal'>"_NET_ACTIVE_WINDOW"</span>,</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='keyword'>static</span> Window</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line">mate_panel_applet_find_toplevel_dock_window (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> Window xwin;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> Window root, parent, *child;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>int</span> num_children;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> xwin = <span class='macro'>GDK_WINDOW_XID (gtk_widget_get_window (toplevel))<span class='macro_popup'>(gdk_x11_window_get_xid (gtk_widget_get_window (toplevel)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> child = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> parent = root = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> Atom type_return;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> Atom window_type;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='keyword'>int</span> format_return;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> gulong number_return, bytes_after_return;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> guchar *data_return;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> XGetWindowProperty (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> _net_wm_window_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> 0, 1, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> &amp;type_return, &amp;format_return,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> &amp;number_return,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> &amp;bytes_after_return,</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> &amp;data_return);</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='keyword'>if</span> (type_return == <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> window_type = *(Atom *) data_return;</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> XFree (data_return);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> data_return = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='keyword'>if</span> (window_type == _net_wm_window_type_dock)</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='keyword'>return</span> xwin;</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> <span class='keyword'>if</span> (!XQueryTree (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> &amp;root, &amp;parent, &amp;child,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> (guint *) &amp;num_children)) {</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; num_children &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> XFree (child);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> xwin = parent;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> } <span class='keyword'>while</span> (xwin != <span class='macro'>None<span class='macro_popup'>0L</span></span> &amp;&amp; xwin != root);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"><span class='comment'>/* This function</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> <span class='comment'>* 1) Gets the window id of the panel that contains the applet</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='comment'>* using XQueryTree and XGetWindowProperty to find an ancestor</span></td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='comment'>* window with the _NET_WM_WINDOW_TYPE_DOCK window type.</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='comment'>* 2) Sends a _NET_ACTIVE_WINDOW message to get that panel focused</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">mate_panel_applet_request_focus (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> guint32 timestamp)</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> GdkWindow *root;</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> Window dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> Window xroot;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> XEvent xev;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> screen = gdk_screen_get_default(); <span class='comment'>/*There is only one screen since GTK 3.22*/</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> root = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> xdisplay = <span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> xroot = <span class='macro'>GDK_WINDOW_XID (root)<span class='macro_popup'>(gdk_x11_window_get_xid (root))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> mate_panel_applet_init_atoms (xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> dock_xwindow = mate_panel_applet_find_toplevel_dock_window (applet, xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>if</span> (dock_xwindow == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> xev.xclient.type = <span class='macro'>ClientMessage<span class='macro_popup'>33</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> xev.xclient.serial = 0;</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> xev.xclient.send_event = <span class='macro'>True<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> xev.xclient.window = dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xev.xclient.message_type = _net_active_window;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> xev.xclient.format = 32;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> xev.xclient.data.l[0] = 1; <span class='comment'>/* requestor type; we're an app, I guess */</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> xev.xclient.data.l[1] = timestamp;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> xev.xclient.data.l[2] = <span class='macro'>None<span class='macro_popup'>0L</span></span>; <span class='comment'>/* "currently active window", supposedly */</span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> xev.xclient.data.l[3] = 0;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> xev.xclient.data.l[4] = 0;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> XSendEvent (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> xroot, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='macro'>SubstructureRedirectMask<span class='macro_popup'>(1L&lt;&lt;20)</span></span> | <span class='macro'>SubstructureNotifyMask<span class='macro_popup'>(1L&lt;&lt;19)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> &amp;xev);</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"><span class='keyword'>static</span> GtkAction *</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line">mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>const</span> gchar *action)</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span> gtk_action_group_get_action (priv-&gt;panel_action_group, action);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line">mate_panel_applet_menu_update_actions (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>),</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Move"</span>),</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Remove"</span>),</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='string_literal'>"RemoveFromPanel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='string_literal'>"Move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line">mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> locked = gtk_toggle_action_get_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> mate_panel_applet_set_locked (applet, locked);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line">mate_panel_applet_setup_menu (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>const</span> gchar *xml,</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> gchar *new_xml;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> <span class='macro'>g_return_if_fail (xml != NULL)<span class='macro_popup'>do { if ((xml != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xml != NULL"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> priv-&gt;applet_action_group = <span class='macro'>g_object_ref (applet_action_group)<span class='macro_popup'>((__typeof__ (applet_action_group)) (g_object_ref) (applet_action_group<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> applet_action_group, 0);</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> new_xml = g_strdup_printf (<span class='string_literal'>"&lt;ui&gt;&lt;popup name=\"MatePanelAppletPopup\" action=\"AppletItems\"&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='string_literal'>"&lt;placeholder name=\"AppletItems\"&gt;%s\n&lt;/placeholder&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='string_literal'>"&lt;/popup&gt;&lt;/ui&gt;\n"</span>, xml);</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager, new_xml, -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> g_free (new_xml);</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> gtk_ui_manager_ensure_update (priv-&gt;ui_manager);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> g_warning (<span class='string_literal'>"Error merging menus: %s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line">mate_panel_applet_setup_menu_from_file (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>const</span> gchar *filename,</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> gchar *xml = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='keyword'>if</span> (g_file_get_contents (filename, &amp;xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> mate_panel_applet_setup_menu (applet, xml, applet_action_group);</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> g_free (xml);</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* mate_panel_applet_setup_menu_from_resource:</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>* @applet: a #MatePanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='comment'>* @resource_path: a resource path</span></td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='comment'>* @action_group: a #GtkActionGroup.</span></td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='comment'>* Sets up the context menu of @applet. @filename is a resource path to a menu</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='comment'>* XML file, containing a #GtkUIManager UI definition that describes how to</span></td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='comment'>* display the menu items. @action_group contains the various #GtkAction that</span></td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='comment'>* are referenced in @xml.</span></td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='comment'>* See also the &lt;link linkend="getting-started.context-menu"&gt;Context</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='comment'>* Menu&lt;/link&gt; section.</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='comment'>* Since: 1.20.1</span></td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line">mate_panel_applet_setup_menu_from_resource (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>const</span> gchar *resource_path,</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> GtkActionGroup *action_group)</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> GBytes *bytes;</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> bytes = g_resources_lookup_data (resource_path,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> G_RESOURCE_LOOKUP_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> <span class='keyword'>if</span> (bytes) {</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> mate_panel_applet_setup_menu (applet,</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> g_bytes_get_data (bytes, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> g_bytes_unref (bytes);</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">mate_panel_applet_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;object_id)</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_dbus_connection_unregister_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> priv-&gt;object_id);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> priv-&gt;object_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;connection)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;connection)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;connection))) _pp = ((&amp;priv-&gt;connection)<br>); __typeof__ (*((&amp;priv-&gt;connection))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;object_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;object_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;object_path)) _pp = (&amp;priv-&gt;object_path); __typeof__<br> (*(&amp;priv-&gt;object_path)) _ptr = *_pp; *_pp = ((void*)0<br>); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> mate_panel_applet_set_preferences_path (applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;applet_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;applet_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;applet_action_group))) _pp = ((&amp;priv-&gt;<br>applet_action_group)); __typeof__ (*((&amp;priv-&gt;applet_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;panel_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;panel_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;panel_action_group))) _pp = ((&amp;priv-&gt;<br>panel_action_group)); __typeof__ (*((&amp;priv-&gt;panel_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;ui_manager)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;ui_manager)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;ui_manager))) _pp = ((&amp;priv-&gt;ui_manager)<br>); __typeof__ (*((&amp;priv-&gt;ui_manager))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;size_hints, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;size_hints) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;size_hints)) _pp = (&amp;priv-&gt;size_hints); __typeof__<br> (*(&amp;priv-&gt;size_hints)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;prefs_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;prefs_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;prefs_path)) _pp = (&amp;priv-&gt;prefs_path); __typeof__<br> (*(&amp;priv-&gt;prefs_path)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;background, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;background) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;background)) _pp = (&amp;priv-&gt;background); __typeof__<br> (*(&amp;priv-&gt;background)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;id, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;id) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;priv-&gt;<br>id)) _pp = (&amp;priv-&gt;id); __typeof__ (*(&amp;priv-&gt;id<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> <span class='comment'>/* closure is owned by the factory */</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> priv-&gt;closure = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line">container_has_focusable_child (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GList *t;</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> list = gtk_container_get_children (container);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='keyword'>for</span> (t = list; t; t = t-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> GtkWidget *child = <span class='macro'>GTK_WIDGET (t-&gt;data)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((t-&gt;data)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_can_focus (child)) {</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GTK_IS_CONTAINER (child)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(child)); GType __t = ((gtk_container_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> retval = container_has_focusable_child (<span class='macro'>GTK_CONTAINER (child)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((child)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='keyword'>if</span> (retval)</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_list_free (list);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line">mate_panel_applet_menu_popup (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> GdkEvent *event)</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> GtkWidget *menu;</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> menu = gtk_ui_manager_get_widget (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='string_literal'>"/MatePanelAppletPopup"</span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='comment'>/* Set up theme and transparency support */</span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> GtkWidget *toplevel = gtk_widget_get_toplevel (menu);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"><span class='comment'>/* Fix any failures of compiz/other wm's to communicate with gtk for transparency */</span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"><span class='comment'>/* Set menu and it's toplevel window to follow panel theme */</span></td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> GdkGravity widget_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> GdkGravity menu_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (priv-&gt;orient) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> menu_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> widget_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> menu_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> widget_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> gtk_menu_popup_at_widget (<span class='macro'>GTK_MENU (menu)<span class='macro_popup'>((((GtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> widget_anchor,</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> menu_anchor,</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> event);</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line">mate_panel_applet_can_focus (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='comment'>* A MatePanelApplet widget can focus if it has a tooltip or it does</span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='comment'>* not have any focusable children.</span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget))</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>if</span> (!MATE_PANEL_IS_APPLET (widget))</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>return</span> !container_has_focusable_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"><span class='comment'>/* Taken from libmatecomponentui/matecomponent/matecomponent-plug.c */</span></td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line">mate_panel_applet_button_event (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> GdkWindow *socket_window;</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> XEvent xevent;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> widget = priv-&gt;plug;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_toplevel (widget))</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> socket_window = gtk_plug_get_socket_window (<span class='macro'>GTK_PLUG (widget)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (event-&gt;type == GDK_BUTTON_PRESS) {</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonPress<span class='macro_popup'>4</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='comment'>/* X does an automatic pointer grab on button press</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='comment'>* if we have both button press and release events</span></td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='comment'>* selected.</span></td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='comment'>* We don't want to hog the pointer on our parent.</span></td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonRelease<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> xevent.xbutton.display = <span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> xevent.xbutton.window = <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> xevent.xbutton.root = <span class='macro'>GDK_WINDOW_XID (gdk_screen_get_root_window<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> <span class='macro'>(gdk_window_get_screen (window)))<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> <span class='comment'>* FIXME: the following might cause</span></td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='comment'>* big problems for non-GTK apps</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> xevent.xbutton.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> xevent.xbutton.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> xevent.xbutton.x_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> xevent.xbutton.y_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> xevent.xbutton.state = event-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> xevent.xbutton.button = event-&gt;button;</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xevent.xbutton.same_screen = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; <span class='comment'>/* FIXME ? */</span></td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> XSendEvent (<span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>NoEventMask<span class='macro_popup'>0L</span></span>, &amp;xevent);</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> gdk_display_flush (display);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line">mate_panel_applet_button_press (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>if</span> (!container_has_focusable_child (<span class='macro'>GTK_CONTAINER (applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_container_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>/*Limit the window list's applet menu to the handle area*/</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='keyword'>if</span> (!(<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> flags = mate_panel_applet_get_flags (applet);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>if</span> (flags &amp; MATE_PANEL_APPLET_EXPAND_MAJOR)</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 3) {</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> mate_panel_applet_menu_popup (applet, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">mate_panel_applet_button_release (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='comment'>/*Open the applet context menu only on Menu key</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='comment'>*Do not open it on Return or some applets won't work</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line">mate_panel_applet_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='keyword'>if</span> (event-&gt;keyval == <span class='macro'>GDK_KEY_Menu<span class='macro_popup'>0xff67</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> mate_panel_applet_menu_popup (MATE_PANEL_APPLET (widget), (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line">mate_panel_applet_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> <span class='keyword'>int</span> *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>int</span> *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_width (widget,</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> natural_width);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> *minimum_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> *natural_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line">mate_panel_applet_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='keyword'>int</span> *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>int</span> *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_height (widget,</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> natural_height);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> *minimum_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> *natural_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"><span class='keyword'>static</span> GtkSizeRequestMode</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line">mate_panel_applet_get_request_mode (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='comment'>/* Do not use GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='comment'>* or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='comment'>* to avoid problems with in-process applets</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='comment'>* when the panel is not expanded</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='comment'>* See https://github.com/mate-desktop/mate-panel/issues/797</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='comment'>* and https://github.com/mate-desktop/mate-panel/issues/799</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='comment'>* Out of process applets already use GTK_SIZE_REQUEST_CONSTANT_SIZE</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>return</span> GTK_SIZE_REQUEST_CONSTANT_SIZE;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line">mate_panel_applet_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_can_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;size_allocate (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>int</span> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> GtkBin *bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> child_allocation.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> child_allocation.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> child_allocation.width = <span class='macro'>MAX (allocation-&gt;width - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;width - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;width - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> child_allocation.height = <span class='macro'>MAX (allocation-&gt;height - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;height - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;height - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> allocation-&gt;x + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> allocation-&gt;y + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> child_allocation.width,</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> child_allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> GtkWidget *child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>if</span> (child)</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> gtk_widget_size_allocate (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='keyword'>if</span> ((priv-&gt;previous_height != allocation-&gt;height) ||</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> (priv-&gt;previous_width != allocation-&gt;width)) {</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> priv-&gt;previous_height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> priv-&gt;previous_width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"><span class='keyword'>static</span> gboolean mate_panel_applet_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> <span class='keyword'>int</span> border_width;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> gdouble x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;draw(widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget))</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> width = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> height = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> width -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> height -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_render_focus (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line">mate_panel_applet_focus (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> GtkWidget *previous_focus_child;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (widget), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (widget))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (widget)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;moving_focus_out) {</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='comment'>* Applet will retain focus if there is nothing else on the</span></td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='comment'>* panel to get focus</span></td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> previous_focus_child = gtk_container_get_focus_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='keyword'>if</span> (!previous_focus_child &amp;&amp; !gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> ret = <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;focus (widget, dir);</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> <span class='keyword'>if</span> (!ret &amp;&amp; !previous_focus_child) {</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> <span class='comment'>* Applet does not have a widget which can focus so set</span></td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>* the focus on the applet unless it already had focus</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* because it had a tooltip.</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line">mate_panel_applet_parse_color (<span class='keyword'>const</span> gchar *color_str,</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='macro'>g_assert (color_str &amp;&amp; color)<span class='macro_popup'>do { if (color_str &amp;&amp; color) ; else g_assertion_message_expr<br> (((gchar*) 0), "mate-panel-applet.c", 1285, ((const char*) (<br>__func__)), "color_str &amp;&amp; color"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='keyword'>return</span> gdk_rgba_parse (color, color_str);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line">mate_panel_applet_parse_pixmap_str (<span class='keyword'>const</span> <span class='keyword'>char</span> *str,</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> Window *xid,</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> *y)</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> <span class='keyword'>char</span> *tmp;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> <span class='macro'>g_return_val_if_fail (str != NULL, FALSE)<span class='macro_popup'>do { if ((str != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "str != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> <span class='macro'>g_return_val_if_fail (xid != NULL, FALSE)<span class='macro_popup'>do { if ((xid != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xid != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>g_return_val_if_fail (x != NULL, FALSE)<span class='macro_popup'>do { if ((x != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "x != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='macro'>g_return_val_if_fail (y != NULL, FALSE)<span class='macro_popup'>do { if ((y != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "y != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> elements = g_strsplit (str, <span class='string_literal'>","</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> <span class='keyword'>if</span> (!elements)</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> <span class='keyword'>if</span> (!elements [0] || !*elements [0] ||</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> !elements [1] || !*elements [1] ||</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> !elements [2] || !*elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> *xid = strtol (elements [0], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [0])</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> *x = strtol (elements [1], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [1])</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> *y = strtol (elements [2], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line">ERROR_AND_FREE:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"><span class='keyword'>static</span> cairo_surface_t *</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line">mate_panel_applet_create_foreign_surface_for_display (GdkDisplay *display,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> GdkVisual *visual,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> Window xid)</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>Status<span class='macro_popup'>int</span></span> result = 0;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> Window window;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> gint x, y;</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> guint width, height, border, depth;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> result = XGetGeometry (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>, xid, &amp;window,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> &amp;x, &amp;y, &amp;width, &amp;height, &amp;border, &amp;depth);</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>if</span> (result == 0)</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> <span class='keyword'>return</span> cairo_xlib_surface_create (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> xid, gdk_x11_visual_get_xvisual (visual),</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"><span class='keyword'>static</span> cairo_pattern_t *</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line">mate_panel_applet_get_pattern_from_pixmap (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> Window xid,</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> cairo_surface_t *background;</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> <span class='keyword'>int</span> width;</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>int</span> height;</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> background = mate_panel_applet_create_foreign_surface_for_display (display,</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> gdk_window_get_visual (window),</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> xid);</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='comment'>/* background can be NULL if the user changes the background very fast.</span></td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='comment'>* We'll get the next update, so it's not a big deal. */</span></td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>if</span> (!background || cairo_surface_status (background) != CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> <span class='keyword'>if</span> (background)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> width = gdk_window_get_width(window);</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> height = gdk_window_get_height(window);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> surface = gdk_window_create_similar_surface (window,</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> width,</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> height);</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> cr = cairo_create (surface);</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> cairo_set_source_surface (cr, background, -x, -y);</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>if</span> (cairo_status (cr) == CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> pattern = cairo_pattern_create_for_surface (surface);</td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> <span class='keyword'>return</span> pattern;</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"><span class='keyword'>static</span> MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line">mate_panel_applet_handle_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> MatePanelAppletBackgroundType retval;</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>) || !priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> elements = g_strsplit (priv-&gt;background, <span class='string_literal'>":"</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"none"</span> )) {</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='macro'>g_return_val_if_fail (color != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> <span class='keyword'>if</span> (!elements [1] || !mate_panel_applet_parse_color (elements [1], color)) {</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received"</span>, elements [0]);</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> retval = PANEL_COLOR_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"pixmap"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> Window pixmap_id;</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='macro'>g_return_val_if_fail (pattern != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((pattern != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "pattern != NULL"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_parse_pixmap_str (elements [1], &amp;pixmap_id, &amp;x, &amp;y)) {</td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> elements [0], elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> *pattern = mate_panel_applet_get_pattern_from_pixmap (applet, pixmap_id, x, y);</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> <span class='keyword'>if</span> (!*pattern) {</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> g_warning (<span class='string_literal'>"Failed to get pattern %s"</span>, elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> retval = PANEL_PIXMAP_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> g_warning(<span class='string_literal'>"Received pixmap background type, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> g_warning (<span class='string_literal'>"Unknown background type received"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line">MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line">mate_panel_applet_get_background (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> <span class='comment'>/* initial sanity */</span></td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> <span class='keyword'>if</span> (pattern != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> *pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> <span class='keyword'>if</span> (color != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> memset (color, 0, <span class='keyword'>sizeof</span> (GdkRGBA));</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_handle_background_string (applet, color, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line">mate_panel_applet_set_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> <span class='keyword'>const</span> gchar *background)</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background == background)</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;background, background) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> g_free (priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> priv-&gt;background = background ? <span class='macro'>g_strdup (background)<span class='macro_popup'>g_strdup_inline (background)</span></span> : <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line">mate_panel_applet_handle_background (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> MatePanelAppletBackgroundType type;</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> type = mate_panel_applet_get_background (applet, &amp;color, &amp;pattern);</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> <span class='keyword'>if</span> (!gdk_screen_is_composited (gdk_screen_get_default ())) {</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> 0, PANEL_NO_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> 0, PANEL_COLOR_BACKGROUND, &amp;color, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> 0, PANEL_PIXMAP_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> cairo_pattern_destroy (pattern);</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1562, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line">mate_panel_applet_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line">mate_panel_applet_move_focus_out_of_applet (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel)<span class='macro_popup'>do { if ((toplevel)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "toplevel"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> gtk_widget_child_focus (toplevel, dir);</td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line">mate_panel_applet_change_background(MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> MatePanelAppletBackgroundType type,</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> GdkRGBA* color,</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> cairo_pattern_t *pattern)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> gtk_widget_set_app_paintable (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> _mate_panel_applet_apply_css (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>,type);</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> cairo_pattern_t *transparent = cairo_pattern_create_rgba (0, 0, 0, 0); <span class='comment'>/* Using NULL here breaks transparent */</span></td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> gdk_window_set_background_pattern (window, transparent); <span class='comment'>/* backgrounds set by GTK theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> cairo_pattern_destroy (transparent);</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> gdk_window_set_background_rgba(window,color);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> gdk_window_set_background_pattern(window,pattern);</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1639, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_UP ||</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"horizontal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"vertical"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">mate_panel_applet_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_value_set_boolean (value, priv-&gt;out_of_process);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> g_value_set_string (value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> g_value_set_pointer (value, priv-&gt;closure);</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> g_value_set_object (value, priv-&gt;connection);</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line"> g_value_set_string (value, priv-&gt;prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line"> g_value_set_uint (value, priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> g_value_set_uint (value, priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> g_value_set_string (value, priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> g_value_set_uint (value, priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> GVariant *variant;</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> variant = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> g_value_set_pointer (value, variant);</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1717, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line">mate_panel_applet_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> priv-&gt;out_of_process = g_value_get_boolean (value);</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> priv-&gt;id = g_value_dup_string (value);</td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> priv-&gt;closure = g_value_get_pointer (value);</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> g_closure_set_marshal (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> mate_panel_applet_marshal_BOOLEAN__STRING);</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> priv-&gt;connection = g_value_dup_object (value);</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> mate_panel_applet_set_orient (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> mate_panel_applet_set_size (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> mate_panel_applet_set_background_string (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> mate_panel_applet_set_flags (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> size_hints = g_variant_get_fixed_array (g_value_get_pointer (value),</td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> mate_panel_applet_set_locked (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1779, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line">add_tab_bindings (GtkBindingSet *binding_set,</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> GdkModifierType modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> GtkDirectionType direction)</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_Tab<span class='macro_popup'>0xff09</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_KP_Tab<span class='macro_popup'>0xff89</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line">mate_panel_applet_setup (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> GValue value = {0, };</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> GArray *params;</td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> <span class='macro'>g_assert ((priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL))<span class='macro_popup'>do { if ((priv-&gt;id != ((void*)0)) &amp;&amp; (priv-&gt;closure<br> != ((void*)0))) ; else g_assertion_message_expr (((gchar*) 0<br>), "mate-panel-applet.c", 1807, ((const char*) (__func__)), "(priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> params = g_array_sized_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (GValue), 2);</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"> g_value_set_object (&amp;value, <span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> g_value_set_string (&amp;value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> g_closure_invoke (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> &amp;value, params-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> (GValue *) params-&gt;data,</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; params-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> g_value_unset (&amp;<span class='macro'>g_array_index (params, GValue, i)<span class='macro_popup'>(((GValue*) (void *) (params)-&gt;data) [(i)])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> g_array_free (params, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> ret = g_value_get_boolean (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> <span class='keyword'>if</span> (!ret) { <span class='comment'>/* FIXME */</span></td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> g_warning (<span class='string_literal'>"need to free the control here"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css(GtkWidget* widget, MatePanelAppletBackgroundType type)</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> GtkStyleContext* context;</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> gtk_style_context_remove_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1857, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> _mate_panel_applet_prepare_css (GtkStyleContext *context)</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gdk_display_get_default ())"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> <span class='string_literal'>"#PanelPlug {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='string_literal'>" background-repeat: no-repeat;\n"</span> <span class='comment'>/*disable in gtk theme features */</span></td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> <span class='string_literal'>" background-size: cover; "</span> <span class='comment'>/*that don't work on panel-toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> <span class='string_literal'>" }\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> <span class='string_literal'>".mate-custom-panel-background{\n"</span> <span class='comment'>/*prepare CSS for user set theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> <span class='string_literal'>" background-color: rgba (0, 0, 0, 0);\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='string_literal'>" background-image: none;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> <span class='string_literal'>"}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> gtk_style_context_add_provider (context,</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line">mate_panel_applet_init (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> priv-&gt;flags = MATE_PANEL_APPLET_FLAGS_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> priv-&gt;orient = MATE_PANEL_APPLET_ORIENT_UP;</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> priv-&gt;size = 24;</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line"> priv-&gt;panel_action_group = gtk_action_group_new (<span class='string_literal'>"PanelActions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> gtk_action_group_set_translation_domain (priv-&gt;panel_action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> gtk_action_group_add_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> menu_entries,</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_entries)<span class='macro_popup'>(sizeof (menu_entries) / sizeof ((menu_entries)[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> gtk_action_group_add_toggle_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> menu_toggle_entries,</td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_toggle_entries)<span class='macro_popup'>(sizeof (menu_toggle_entries) / sizeof ((menu_toggle_entries)<br>[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> priv-&gt;ui_manager = gtk_ui_manager_new ();</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> priv-&gt;panel_action_group, 1);</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> panel_menu_ui, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> gtk_widget_set_events (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"><span class='keyword'>static</span> GObject *</td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line">mate_panel_applet_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> priv-&gt;plug = gtk_plug_new (0);</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> gtk_widget_set_visual (widget,</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget)));</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"> gtk_widget_set_name (widget, <span class='string_literal'>"PanelPlug"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> _mate_panel_applet_prepare_css (context);</td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='macro'>g_signal_connect_swapped (priv-&gt;plug, <span class='string_literal'>"embedded"</span>,<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_setup),<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (priv-&gt;plug)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_container_get_type ()))))))</span></span>, <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line"> g_warning (<span class='string_literal'>"Requested construction of an out-of-process applet, which is only possible on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line">mate_panel_applet_constructed (GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> MatePanelApplet* applet = MATE_PANEL_APPLET(object);</td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> <span class='comment'>/* Rename the class to have compatibility with all GTK2 themes</span></td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>* https://github.com/perberos/Mate-Desktop-Environment/issues/27</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> gtk_widget_set_name(<span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> mate_panel_applet_register_object (applet);</td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line">mate_panel_applet_class_init (MatePanelAppletClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> gobject_class-&gt;get_property = mate_panel_applet_get_property;</td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> gobject_class-&gt;set_property = mate_panel_applet_set_property;</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> gobject_class-&gt;constructor = mate_panel_applet_constructor;</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> gobject_class-&gt;constructed = mate_panel_applet_constructed;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> klass-&gt;move_focus_out_of_applet = mate_panel_applet_move_focus_out_of_applet;</td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> klass-&gt;change_background = mate_panel_applet_change_background;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> widget_class-&gt;button_press_event = mate_panel_applet_button_press;</td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> widget_class-&gt;button_release_event = mate_panel_applet_button_release;</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> widget_class-&gt;get_request_mode = mate_panel_applet_get_request_mode;</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> widget_class-&gt;get_preferred_width = mate_panel_applet_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> widget_class-&gt;get_preferred_height = mate_panel_applet_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> widget_class-&gt;draw = mate_panel_applet_draw;</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> widget_class-&gt;size_allocate = mate_panel_applet_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> widget_class-&gt;focus = mate_panel_applet_focus;</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> widget_class-&gt;realize = mate_panel_applet_realize;</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> widget_class-&gt;key_press_event = mate_panel_applet_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> gobject_class-&gt;finalize = mate_panel_applet_finalize;</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> g_param_spec_string (<span class='string_literal'>"id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> <span class='string_literal'>"Id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> <span class='string_literal'>"The Applet identifier"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> <span class='string_literal'>"GClosure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> <span class='string_literal'>"The Applet closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> g_param_spec_object (<span class='string_literal'>"connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> <span class='string_literal'>"Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='string_literal'>"The DBus Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='macro'>G_TYPE_DBUS_CONNECTION<span class='macro_popup'>(g_dbus_connection_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> g_param_spec_string (<span class='string_literal'>"prefs-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='string_literal'>"PrefsPath"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> <span class='string_literal'>"GSettings Preferences Path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> <span class='string_literal'>"Orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"> <span class='string_literal'>"Panel Applet Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_FIRST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_UP</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_LAST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_RIGHT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> MATE_PANEL_APPLET_ORIENT_UP,</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='string_literal'>"Panel Applet Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> 0, <span class='macro'>G_MAXUINT<span class='macro_popup'>(2147483647 *2U +1U)</span></span>, 0,</td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> g_param_spec_string (<span class='string_literal'>"background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> <span class='string_literal'>"Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> <span class='string_literal'>"Panel Applet Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='string_literal'>"Panel Applet flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_FLAGS_ALL<span class='macro_popup'>(MATE_PANEL_APPLET_EXPAND_MAJOR|MATE_PANEL_APPLET_EXPAND_MINOR<br>|MATE_PANEL_APPLET_HAS_HANDLE)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> <span class='comment'>/* FIXME: value_array? */</span></td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"size-hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> <span class='string_literal'>"Panel Applet Size Hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='string_literal'>"Locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> PROP_LOCKED_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked-down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> <span class='string_literal'>"LockedDown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT] =</td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> g_signal_new (<span class='string_literal'>"change-orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_orient)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_orient<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__UINT<span class='macro_popup'>g_cclosure_marshal_VOID__UINT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE] =</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_signal_new (<span class='string_literal'>"change-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_size)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_size<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__INT<span class='macro_popup'>g_cclosure_marshal_VOID__INT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line"> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND] =</td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line"> g_signal_new (<span class='string_literal'>"change-background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_background)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_background<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> mate_panel_applet_marshal_VOID__ENUM_BOXED_OBJECT,</td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> 3,</td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='macro'>PANEL_TYPE_MATE_PANEL_APPLET_BACKGROUND_TYPE<span class='macro_popup'>mate_panel_applet_background_type_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> <span class='macro'>GDK_TYPE_RGBA<span class='macro_popup'>(gdk_rgba_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='macro'>CAIRO_GOBJECT_TYPE_PATTERN<span class='macro_popup'>cairo_gobject_pattern_get_type ()</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> mate_panel_applet_signals [MOVE_FOCUS_OUT_OF_APPLET] =</td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> g_signal_new (<span class='string_literal'>"move_focus_out_of_applet"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, move_focus_out_of_applet)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, move_focus_out_of_applet<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__ENUM<span class='macro_popup'>g_cclosure_marshal_VOID__ENUM</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> binding_set = gtk_binding_set_by_class (gobject_class);</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> add_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line">GtkWidget* mate_panel_applet_new(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> MatePanelApplet* applet = g_object_new(<span class='macro'>PANEL_TYPE_APPLET<span class='macro_popup'>mate_panel_applet_get_type ()</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"><span class='keyword'>static</span> GdkEvent *</td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line">button_press_event_new (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> guint button,</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> guint time)</td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> GdkEvent *event;</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> device = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> event = gdk_event_new (GDK_BUTTON_PRESS);</td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> event-&gt;button.time = time;</td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> event-&gt;button.button = button;</td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> gdk_event_set_device (event, device);</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> <span class='keyword'>return</span> event;</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line">method_call_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> <span class='keyword'>const</span> gchar *method_name,</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> GVariant *parameters,</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> GDBusMethodInvocation *invocation,</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (method_name, <span class='string_literal'>"PopupMenu"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> guint button;</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> guint time;</td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> g_variant_get (parameters, <span class='string_literal'>"(uu)"</span>, &amp;button, &amp;time);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> GdkEvent *event = button_press_event_new (applet, button, time);</td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> mate_panel_applet_menu_popup (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> gdk_event_free (event);</td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> g_dbus_method_invocation_return_value (invocation, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line">get_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> GVariant *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (user_data));</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> retval = g_variant_new_string (priv-&gt;prefs_path ? priv-&gt;prefs_path : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> retval = g_variant_new_string (priv-&gt;background ? priv-&gt;background : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> retval = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line">set_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line"> GVariant *value,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> mate_panel_applet_set_orient (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> mate_panel_applet_set_size (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> mate_panel_applet_set_background_string (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> mate_panel_applet_set_flags (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> size_hints = g_variant_get_fixed_array (value, &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> mate_panel_applet_set_locked (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar introspection_xml[] =</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> <span class='string_literal'>"&lt;node&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='string_literal'>"&lt;interface name='org.mate.panel.applet.Applet'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line"> <span class='string_literal'>"&lt;method name='PopupMenu'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> <span class='string_literal'>"&lt;arg name='button' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"> <span class='string_literal'>"&lt;arg name='time' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line"> <span class='string_literal'>"&lt;/method&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='string_literal'>"&lt;property name='PrefsPath' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='string_literal'>"&lt;property name='Orient' type='u' access='readwrite' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='string_literal'>"&lt;property name='Size' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line"> <span class='string_literal'>"&lt;property name='Background' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='string_literal'>"&lt;property name='Flags' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> <span class='string_literal'>"&lt;property name='SizeHints' type='ai' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> <span class='string_literal'>"&lt;property name='Locked' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> <span class='string_literal'>"&lt;property name='LockedDown' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='string_literal'>"&lt;signal name='Move' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='string_literal'>"&lt;signal name='RemoveFromPanel' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='string_literal'>"&lt;signal name='Lock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> <span class='string_literal'>"&lt;signal name='Unlock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='string_literal'>"&lt;/interface&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> <span class='string_literal'>"&lt;/node&gt;"</span>;</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GDBusInterfaceVTable interface_vtable = {</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> method_call_cb,</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> get_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> set_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> { 0 }</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"><span class='keyword'>static</span> GDBusNodeInfo *introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line">mate_panel_applet_register_object (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>static</span> gint id = 0;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> <span class='keyword'>if</span> (!introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> priv-&gt;object_path = g_strdup_printf (<span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span>, priv-&gt;id, id++);</td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> priv-&gt;object_id =</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> g_dbus_connection_register_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> introspection_data-&gt;interfaces[0],</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> &amp;interface_vtable,</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;object_id) {</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to register object %s: %s\n"</span>, priv-&gt;object_path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_factory_main_finalized(gpointer data, GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> gtk_main_quit();</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> <span class='keyword'>if</span> (introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> g_dbus_node_info_unref(introspection_data);</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> (*_x_error_func) (Display *, XErrorEvent *);</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line">_x_error_handler (Display *display, XErrorEvent *error)</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (!error-&gt;error_code)</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='comment'>/* If we got a BadDrawable or a BadWindow, we ignore it for now.</span></td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> <span class='comment'>* FIXME: We need to somehow distinguish real errors from</span></td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> <span class='comment'>* X-server-induced errors. Keeping a list of windows for which we</span></td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> <span class='comment'>* will ignore BadDrawables would be a good idea. */</span></td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> <span class='keyword'>if</span> (error-&gt;error_code == <span class='macro'>BadDrawable<span class='macro_popup'>9</span></span> ||</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> error-&gt;error_code == <span class='macro'>BadWindow<span class='macro_popup'>3</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> <span class='keyword'>return</span> _x_error_func (display, error);</td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> <span class='comment'>* To do graphical embedding in the X window system, MATE Panel</span></td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> <span class='comment'>* uses the classic foreign-window-reparenting trick. The</span></td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='comment'>* GtkPlug/GtkSocket widgets are used for this purpose. However,</span></td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line"> <span class='comment'>* serious robustness problems arise if the GtkSocket end of the</span></td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> <span class='comment'>* connection unexpectedly dies. The X server sends out DestroyNotify</span></td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"> <span class='comment'>* events for the descendants of the GtkPlug (i.e., your embedded</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line"> <span class='comment'>* component's windows) in effectively random order. Furthermore, if</span></td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> <span class='comment'>* you happened to be drawing on any of those windows when the</span></td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line"> <span class='comment'>* GtkSocket was destroyed (a common state of affairs), an X error</span></td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> <span class='comment'>* will kill your application.</span></td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> <span class='comment'>* To solve this latter problem, MATE Panel sets up its own X error</span></td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> <span class='comment'>* handler which ignores certain X errors that might have been</span></td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> <span class='comment'>* caused by such a scenario. Other X errors get passed to gdk_x_error</span></td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='comment'>* normally.</span></td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line">_mate_panel_applet_setup_x_error_handler (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>static</span> gboolean error_handler_setup = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> <span class='keyword'>if</span> (error_handler_setup)</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> error_handler_setup = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> _x_error_func = XSetErrorHandler (_x_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line">_mate_panel_applet_factory_main_internal (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> gboolean out_process,</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> MatePanelAppletFactory* factory;</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> GClosure* closure;</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='macro'>g_return_val_if_fail(factory_id != NULL, 1)<span class='macro_popup'>do { if ((factory_id != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "factory_id != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> <span class='macro'>g_return_val_if_fail(callback != NULL, 1)<span class='macro_popup'>do { if ((callback != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "callback != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> <span class='macro'>g_assert(g_type_is_a(applet_type, PANEL_TYPE_APPLET))<span class='macro_popup'>do { if (((applet_type) == (mate_panel_applet_get_type ()) ||<br> (g_type_is_a) ((applet_type), (mate_panel_applet_get_type ()<br>)))) ; else g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 2425, ((const char*) (__func__)), "g_type_is_a(applet_type, PANEL_TYPE_APPLET)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='comment'>/*Use this both in and out of process as the tray applet always uses GtkSocket</span></td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> <span class='comment'>*to handle GtkStatusIcons whether the tray itself is built in or out of process</span></td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> _mate_panel_applet_setup_x_error_handler();</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>if</span> (out_process) {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> g_warning(<span class='string_literal'>"Requested out-of-process applet, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> closure = g_cclosure_new(<span class='macro'>G_CALLBACK(callback)<span class='macro_popup'>((GCallback) (callback))</span></span>, user_data, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> factory = mate_panel_applet_factory_new(factory_id, out_process, applet_type, closure);</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> g_closure_unref(closure);</td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_factory_register_service(factory))</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> <span class='keyword'>if</span> (out_process)</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> g_object_weak_ref(<span class='macro'>G_OBJECT(factory)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((factory)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, mate_panel_applet_factory_main_finalized, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> gtk_main();</td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> g_object_unref (factory);</td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_main:</span></td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> <span class='comment'>* @out_process: boolean, dummy to support applets sending it</span></td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line">mate_panel_applet_factory_main (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> gboolean out_process, <span class='comment'>/*Dummy to support applets w issues with this */</span></td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_setup_in_process: (skip)</span></td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line">mate_panel_applet_factory_setup_in_process (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> <span class='comment'>* mate_panel_applet_set_background_widget:</span></td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> <span class='comment'>* @applet: a #PanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> <span class='comment'>* @widget: a #GtkWidget.</span></td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> <span class='comment'>* Configure #PanelApplet to automatically draw the background of the applet on</span></td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> <span class='comment'>* @widget. It is generally enough to call this function with @applet as</span></td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"> <span class='comment'>* @widget.</span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='comment'>* Deprecated: 3.20: Do not use this API. Since 3.20 this function does nothing.</span></td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line">mate_panel_applet_set_background_widget (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line">guint32</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line">mate_panel_applet_get_xid (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> <span class='comment'>/* out_of_process should only be true on X11, so an extra runtime Wayland check is not needed */</span></td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process == <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (priv-&gt;plug)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> gtk_widget_show (priv-&gt;plug);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> <span class='keyword'>return</span> gtk_plug_get_id (<span class='macro'>GTK_PLUG (priv-&gt;plug)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"><span class='keyword'>const</span> gchar *</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">mate_panel_applet_get_object_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> <span class='keyword'>return</span> priv-&gt;object_path;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"><span class='macro'>G_MODULE_EXPORT<span class='macro_popup'>__attribute__((visibility("default")))</span></span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line">mate_panel_applet_get_applet_widget (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> guint uid)</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> widget = mate_panel_applet_factory_get_applet_widget (factory_id, uid);</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>if</span> (!widget) {</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> mate_panel_applet_setup (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>return</span> widget;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-d1a39f.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-d1a39f.html
new file mode 100644
index 00000000..c6f892f0
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-d1a39f.html
@@ -0,0 +1,1375 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-multimonitor.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-multimonitor.c -->
+
+<!-- FILENAME panel-multimonitor.c -->
+
+<!-- FUNCTIONNAME panel_multimonitor_get_randr_monitors -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT d1a39f90d628b216fd62d622dade4184 -->
+
+<!-- BUGLINE 211 -->
+
+<!-- BUGCOLUMN 20 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-multimonitor.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 211, column 20</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-multimonitor.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-multimonitor.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"211": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-multimonitor.c: Multi-monitor and Xinerama support for the panel.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2001 George Lebl &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* 2002 Sun Microsystems Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* GNU General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* USA</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Authors: George Lebl &lt;[email protected]&gt;,</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;X11/Xatom.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;X11/Xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;X11/extensions/Xrandr.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> <span class='comment'>* The number of logical monitors we are keeping track of</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> <span class='comment'>* May be different than gdk_display_get_n_monitors()</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='comment'>* (see comment in panel_multimonitor_compress_overlapping_monitors for details)</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> monitor_count = 0;</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> <span class='comment'>* A dynamically allocated array of monitor geometries</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> <span class='comment'>* monitor_count is the length</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='keyword'>static</span> GdkRectangle *geometries = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='keyword'>static</span> gboolean initialized = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='keyword'>static</span> gboolean have_randr = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> guint reinit_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_RANDR<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line">_panel_multimonitor_output_should_be_first (Display *xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> RROutput output,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> XRROutputInfo *info,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> RROutput primary)</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>if</span> (primary)</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='keyword'>return</span> output == primary;</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> Atom connector_type_atom;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> Atom actual_type;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='keyword'>int</span> actual_format;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> nitems;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> bytes_after;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>char</span> *prop;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> connector_type_atom = XInternAtom (xdisplay, <span class='string_literal'>"ConnectorType"</span>, <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (XRRGetOutputProperty (xdisplay, output, connector_type_atom,</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> 0, 100, <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>None<span class='macro_popup'>0L</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> &amp;actual_type, &amp;actual_format,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> &amp;nitems, &amp;bytes_after, &amp;prop) == <span class='macro'>Success<span class='macro_popup'>0</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='keyword'>if</span> (actual_type == <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span> &amp;&amp; nitems == 1 &amp;&amp; actual_format == 32) {</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>char</span> *connector_type = XGetAtomName (xdisplay, prop[0]);</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> gboolean retval = g_strcmp0 (connector_type, <span class='string_literal'>"Panel"</span>) == 0;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> XFree (connector_type);</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> <span class='comment'>/* Fallback (see https://bugs.freedesktop.org/show_bug.cgi?id=26736)</span></td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> <span class='comment'>* "LVDS" is the oh-so-intuitive name that X gives to laptop LCDs.</span></td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='comment'>* It can actually be LVDS0, LVDS-0, Lvds, etc.</span></td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> <span class='keyword'>return</span> (g_ascii_strncasecmp (info-&gt;name, <span class='string_literal'>"LVDS"</span>, strlen (<span class='string_literal'>"LVDS"</span>)) == 0);</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">panel_multimonitor_get_randr_monitors (<span class='keyword'>int</span> *monitors_ret,</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> GdkRectangle **geometries_ret)</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> GdkMonitor *monitor;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> Window xroot;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> XRRScreenResources *resources;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> RROutput primary;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> GArray *geometries_array;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='keyword'>int</span> scale;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='macro'>g_return_val_if_fail (have_randr, FALSE)<span class='macro_popup'>do { if ((have_randr)) { } else { g_return_if_fail_warning ((<br>(gchar*) 0), ((const char*) (__func__)), "have_randr"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_X11_DISPLAY (display), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_X11_DISPLAY (display)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='comment'>/* GTK+ 2.14.x uses the Xinerama API, instead of RANDR, to get the</span></td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> <span class='comment'>* monitor geometries. It does this to avoid calling</span></td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> <span class='comment'>* XRRGetScreenResources(), which is slow as it re-detects all the</span></td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='comment'>* monitors --- note that XRRGetScreenResourcesCurrent() had not been</span></td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='comment'>* introduced yet. Using Xinerama in GTK+ has the bad side effect that</span></td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='comment'>* gdk_screen_get_monitor_plug_name() will return NULL, as Xinerama</span></td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='comment'>* does not provide that information, unlike RANDR.</span></td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='comment'>* Here we need to identify the output names, so that we can put the</span></td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='comment'>* built-in LCD in a laptop *before* all other outputs. This is so</span></td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='comment'>* that mate-panel will normally prefer to appear on the "native"</span></td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='comment'>* display rather than on an external monitor.</span></td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='comment'>* To get the output names and geometries, we will not use</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='comment'>* gdk_screen_get_n_monitors() and friends, but rather we will call</span></td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='comment'>* XRR*() directly.</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='comment'>* See https://bugzilla.novell.com/show_bug.cgi?id=479684 for this</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='comment'>* particular bug, and and</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='comment'>* http://bugzilla.gnome.org/show_bug.cgi?id=562944 for a more</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='comment'>* long-term solution.</span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> screen = gdk_display_get_default_screen (display);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> xdisplay = <span class='macro'>GDK_SCREEN_XDISPLAY (screen)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen<br>)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> xroot = <span class='macro'>GDK_WINDOW_XID (gdk_screen_get_root_window (screen))<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (screen))<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> resources = XRRGetScreenResourcesCurrent (xdisplay, xroot);</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>if</span> (resources-&gt;noutput == 0) {</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='comment'>/* This might happen if nothing tried to get randr</span></td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='comment'>* resources from the server before, so we need an</span></td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='comment'>* active probe. See comment #27 in</span></td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='comment'>* https://bugzilla.gnome.org/show_bug.cgi?id=597101 */</span></td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> XRRFreeScreenResources (resources);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> resources = XRRGetScreenResources (xdisplay, xroot);</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>if</span> (!resources)</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> primary = XRRGetOutputPrimary (xdisplay, xroot);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> monitor = gdk_display_get_primary_monitor (display);</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='comment'>/* Use scale factor to bring geometries down to device pixels to support HiDPI displays */</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> scale = gdk_monitor_get_scale_factor (monitor);</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> geometries_array = g_array_sized_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> <span class='keyword'>sizeof</span> (GdkRectangle),</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> resources-&gt;noutput);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; resources-&gt;noutput; i++) {</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> XRROutputInfo *output;</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> output = XRRGetOutputInfo (xdisplay, resources,</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> resources-&gt;outputs[i]);</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>if</span> (output-&gt;connection != <span class='macro'>RR_Disconnected<span class='macro_popup'>1</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> output-&gt;crtc != 0) {</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> XRRCrtcInfo *crtc;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> GdkRectangle rect;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> crtc = XRRGetCrtcInfo (xdisplay, resources,</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> output-&gt;crtc);</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> rect.x = crtc-&gt;x / scale;</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> rect.y = crtc-&gt;y / scale;</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> rect.width = crtc-&gt;width / scale;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> rect.height = crtc-&gt;height / scale;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> XRRFreeCrtcInfo (crtc);</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>if</span> (_panel_multimonitor_output_should_be_first (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> resources-&gt;outputs[i],</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> output, primary))</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> g_array_prepend_vals (geometries_array, &amp;rect, 1);</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_array_append_vals (geometries_array, &amp;rect, 1);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> XRRFreeOutputInfo (output);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> XRRFreeScreenResources (resources);</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> <span class='keyword'>if</span> (geometries_array-&gt;len == 0) {</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='comment'>/* This can happen in at least one case:</span></td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='comment'>* https://bugzilla.novell.com/show_bug.cgi?id=543876 where all</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='comment'>* monitors appear disconnected (possibly because the screen</span></td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='comment'>* is behing a KVM switch) -- see comment #8.</span></td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='comment'>* There might be other cases too, so we stay on the safe side.</span></td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> g_array_free (geometries_array, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> *monitors_ret = geometries_array-&gt;len;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> *geometries_ret = <span class="mrange"><span class="mrange">(GdkRectangle *) g_array_free (geometries_array, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:27ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"><span class='directive'>#endif /* HAVE_RANDR */</span></td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line">panel_multimonitor_get_gdk_monitors (<span class='keyword'>int</span> *monitors_ret,</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> GdkRectangle **geometries_ret)</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>int</span> num_monitors;</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> GdkRectangle *geometries_array;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> num_monitors = gdk_display_get_n_monitors (display);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> geometries_array = <span class='macro'>g_new (GdkRectangle, num_monitors)<span class='macro_popup'>((GdkRectangle *) g_malloc_n ((num_monitors), sizeof (GdkRectangle<br>)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; num_monitors; i++)</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> gdk_monitor_get_geometry (gdk_display_get_monitor (display, i), &amp;(geometries_array[i]));</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> *monitors_ret = num_monitors;</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> *geometries_ret = geometries_array;</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line">panel_multimonitor_get_raw_monitors (<span class='keyword'>int</span> *monitors_ret,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> GdkRectangle **geometries_ret)</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *monitors_ret = 0;</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> *geometries_ret = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_RANDR<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span> &amp;&amp; have_randr)</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> gboolean res;</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> res = panel_multimonitor_get_randr_monitors (monitors_ret,</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> geometries_ret);</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>if</span> (res &amp;&amp; *monitors_ret &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"><span class='directive'>#endif /* HAVE_RANDR */</span></td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> panel_multimonitor_get_gdk_monitors (monitors_ret, geometries_ret);</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line">rectangle_overlaps (GdkRectangle *a,</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> GdkRectangle *b)</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> <span class='keyword'>return</span> gdk_rectangle_intersect (a, b, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>long</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line">pixels_in_rectangle (GdkRectangle *r)</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>return</span> (<span class='keyword'>long</span>) (r-&gt;width * r-&gt;height);</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line">panel_multimonitor_compress_overlapping_monitors (<span class='keyword'>int</span> *num_monitors_inout,</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> GdkRectangle **geometries_inout)</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> <span class='keyword'>int</span> num_monitors;</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> GdkRectangle *geometries_array;</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> num_monitors = *num_monitors_inout;</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> geometries_array = *geometries_inout;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='comment'>/* http://bugzilla.gnome.org/show_bug.cgi?id=530969</span></td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='comment'>* https://bugzilla.novell.com/show_bug.cgi?id=310208</span></td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='comment'>* and many other such bugs...</span></td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='comment'>* RANDR sometimes gives us monitors that overlap (i.e. outputs whose</span></td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='comment'>* bounding rectangles overlap). This is sometimes right and sometimes</span></td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='comment'>* wrong:</span></td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='comment'>* * Right - two 1024x768 outputs at the same offset (0, 0) that show</span></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> <span class='comment'>* the same thing. Think "laptop plus projector with the same</span></td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='comment'>* resolution".</span></td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='comment'>* * Wrong - one 1280x1024 output ("laptop internal LCD") and another</span></td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='comment'>* 1024x768 output ("external monitor"), both at offset (0, 0).</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='comment'>* There is no way for the monitor with the small resolution to</span></td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='comment'>* show the complete image from the laptop's LCD, unless one uses</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='comment'>* panning (but nobody wants panning, right!?).</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='comment'>* With overlapping monitors, we may end up placing the panel with</span></td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='comment'>* respect to the "wrong" one. This is always wrong, as the panel</span></td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='comment'>* appears "in the middle of the screen" of the monitor with the</span></td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> <span class='comment'>* smaller resolution, instead of at the edge.</span></td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='comment'>* Our strategy is to find the subsets of overlapping monitors, and</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> <span class='comment'>* "compress" each such set to being like if there were a single</span></td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='comment'>* monitor with the biggest resolution of each of that set's monitors.</span></td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='comment'>* Say we have four monitors</span></td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='comment'>* A, B, C, D</span></td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> <span class='comment'>* where B and D overlap. In that case, we'll generate a new list that</span></td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='comment'>* looks like</span></td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='comment'>* A, MAX(B, D), C</span></td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> <span class='comment'>* with three monitors.</span></td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='comment'>* NOTE FOR THE FUTURE: We could avoid most of this mess if we had a</span></td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> <span class='comment'>* concept of a "primary monitor". Also, we could look at each</span></td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='comment'>* output's name or properties to see if it is the built-in LCD in a</span></td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='comment'>* laptop. However, with GTK+ 2.14.x we don't get output names, since</span></td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> <span class='comment'>* it gets the list outputs from Xinerama, not RANDR (and Xinerama</span></td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='comment'>* doesn't provide output names).</span></td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; num_monitors; i++) {</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>long</span> max_pixels;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='keyword'>int</span> j;</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> max_pixels = pixels_in_rectangle (&amp;geometries_array[i]);</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> j = i + 1;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='keyword'>while</span> (j &lt; num_monitors) {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='keyword'>if</span> (rectangle_overlaps (&amp;geometries_array[i],</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> &amp;geometries_array[j])) {</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>long</span> pixels;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> pixels = pixels_in_rectangle (&amp;geometries_array[j]);</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> <span class='keyword'>if</span> (pixels &gt; max_pixels) {</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> max_pixels = pixels;</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='comment'>/* keep the maximum */</span></td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> geometries_array[i] = geometries_array[j];</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='comment'>/* Shift the remaining monitors to the left */</span></td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>if</span> (num_monitors - j - 1 &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> memmove (&amp;geometries_array[j],</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> &amp;geometries_array[j + 1],</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>sizeof</span> (geometries_array[0]) * (num_monitors - j - 1));</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> num_monitors--;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='macro'>g_assert (num_monitors &gt; 0)<span class='macro_popup'>do { if (num_monitors &gt; 0) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-multimonitor.c", 358, ((const char*) (<br>__func__)), "num_monitors &gt; 0"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> j++;</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> *num_monitors_inout = num_monitors;</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> *geometries_inout = geometries_array;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line">panel_multimonitor_reinit_idle (gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> panel_multimonitor_reinit ();</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> reinit_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line">panel_multimonitor_handle_screen_changed (GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='keyword'>if</span> (reinit_id)</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> reinit_id = g_idle_add (panel_multimonitor_reinit_idle, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line">panel_multimonitor_handle_monitor_changed (GdkDisplay *display,</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> GdkMonitor *monitor,</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> <span class='keyword'>if</span> (reinit_id)</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> reinit_id = g_idle_add (panel_multimonitor_reinit_idle, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line">panel_multimonitor_handle_monitor_invalidate (GdkMonitor *monitor,</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='keyword'>if</span> (reinit_id)</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> reinit_id = g_idle_add (panel_multimonitor_reinit_idle, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_RANDR<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line">panel_multimonitor_init_randr (GdkDisplay *display)</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='keyword'>int</span> event_base, error_base;</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (display))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_X11_DISPLAY (display)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> have_randr = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> xdisplay = <span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span class='comment'>/* We don't remember the event/error bases, as we expect to get monitor</span></td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> <span class='comment'>* added/removed events from the display instead.</span></td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>if</span> (XRRQueryExtension (xdisplay, &amp;event_base, &amp;error_base)) {</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> <span class='keyword'>int</span> major, minor;</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> XRRQueryVersion (xdisplay, &amp;major, &amp;minor);</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='keyword'>if</span> ((major == 1 &amp;&amp; minor &gt;= 3) || major &gt; 1)</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> have_randr = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"><span class='directive'>#endif /* HAVE_RANDR */</span></td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line">panel_multimonitor_init (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='keyword'>if</span> (initialized)</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> screen = gdk_display_get_default_screen (display);</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> have_randr = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_RANDR<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> panel_multimonitor_init_randr (display);</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"><span class='directive'>#endif /* HAVE_RANDR */</span></td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='comment'>* The screen signals probably shouldn't be needed, but sometimes on X11 they are</span></td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='comment'>* the only ones that get fired</span></td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (screen, panel_multimonitor_handle_screen_changed, NULL)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((screen), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (panel_multimonitor_handle_screen_changed), (((void*)0)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='macro'>g_signal_connect (screen, <span class='string_literal'>"size-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((screen), ("size-changed"), (((GCallback<br>) (panel_multimonitor_handle_screen_changed))), (((void*)0)),<br> ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> <span class='macro'>G_CALLBACK (panel_multimonitor_handle_screen_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((screen), ("size-changed"), (((GCallback<br>) (panel_multimonitor_handle_screen_changed))), (((void*)0)),<br> ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> <span class='macro'>g_signal_connect (screen, <span class='string_literal'>"monitors-changed"</span>,<span class='macro_popup'>g_signal_connect_data ((screen), ("monitors-changed"), (((GCallback<br>) (panel_multimonitor_handle_screen_changed))), (((void*)0)),<br> ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span class='macro'>G_CALLBACK (panel_multimonitor_handle_screen_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((screen), ("monitors-changed"), (((GCallback<br>) (panel_multimonitor_handle_screen_changed))), (((void*)0)),<br> ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (display, panel_multimonitor_handle_monitor_changed, NULL)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((display), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (panel_multimonitor_handle_monitor_changed), (((void*)0))<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span class='macro'>g_signal_connect (display, <span class='string_literal'>"monitor-added"</span>,<span class='macro_popup'>g_signal_connect_data ((display), ("monitor-added"), (((GCallback<br>) (panel_multimonitor_handle_monitor_changed))), (((void*)0))<br>, ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='macro'>G_CALLBACK (panel_multimonitor_handle_monitor_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((display), ("monitor-added"), (((GCallback<br>) (panel_multimonitor_handle_monitor_changed))), (((void*)0))<br>, ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> <span class='macro'>g_signal_connect (display, <span class='string_literal'>"monitor-removed"</span>,<span class='macro_popup'>g_signal_connect_data ((display), ("monitor-removed"), (((GCallback<br>) (panel_multimonitor_handle_monitor_changed))), (((void*)0))<br>, ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='macro'>G_CALLBACK (panel_multimonitor_handle_monitor_changed), NULL)<span class='macro_popup'>g_signal_connect_data ((display), ("monitor-removed"), (((GCallback<br>) (panel_multimonitor_handle_monitor_changed))), (((void*)0))<br>, ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; gdk_display_get_n_monitors (display); i++) {</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> GdkMonitor *monitor;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> monitor = gdk_display_get_monitor (display, i);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (display, panel_multimonitor_handle_monitor_invalidate, NULL)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((display), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (panel_multimonitor_handle_monitor_invalidate), (((void*)<br>0)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='macro'>g_signal_connect (monitor, <span class='string_literal'>"invalidate"</span>,<span class='macro_popup'>g_signal_connect_data ((monitor), ("invalidate"), (((GCallback<br>) (panel_multimonitor_handle_monitor_invalidate))), (((void*)<br>0)), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='macro'>G_CALLBACK (panel_multimonitor_handle_monitor_invalidate), NULL)<span class='macro_popup'>g_signal_connect_data ((monitor), ("invalidate"), (((GCallback<br>) (panel_multimonitor_handle_monitor_invalidate))), (((void*)<br>0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> panel_multimonitor_get_raw_monitors (&amp;monitor_count, &amp;geometries);</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> panel_multimonitor_compress_overlapping_monitors (&amp;monitor_count, &amp;geometries);</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> initialized = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line">panel_multimonitor_reinit (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> GList *toplevels, *l;</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>if</span> (geometries)</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> g_free (geometries);</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> initialized = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> panel_multimonitor_init ();</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> toplevels = gtk_window_list_toplevels ();</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> <span class='keyword'>for</span> (l = toplevels; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> gtk_widget_queue_resize (l-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> g_list_free (toplevels);</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line">panel_multimonitor_monitors ()</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> monitor_count;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line">panel_multimonitor_x (<span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> <span class='macro'>g_return_val_if_fail (monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count, 0)<span class='macro_popup'>do { if ((monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='keyword'>return</span> geometries [monitor].x;</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">panel_multimonitor_y (<span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='macro'>g_return_val_if_fail (monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count, 0)<span class='macro_popup'>do { if ((monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> <span class='keyword'>return</span> geometries [monitor].y;</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line">panel_multimonitor_width (<span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='macro'>g_return_val_if_fail (monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count, 0)<span class='macro_popup'>do { if ((monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> <span class='keyword'>return</span> geometries [monitor].width;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line">panel_multimonitor_height (<span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='macro'>g_return_val_if_fail (monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count, 0)<span class='macro_popup'>do { if ((monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "monitor &gt;= 0 &amp;&amp; monitor &lt; monitor_count"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> <span class='keyword'>return</span> geometries [monitor].height;</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line">panel_multimonitor_locate_widget_monitor (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='keyword'>int</span> retval = -1;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> toplevel = gtk_widget_get_toplevel (widget);</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='keyword'>if</span> (!toplevel)</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> g_object_get (toplevel, <span class='string_literal'>"monitor"</span>, &amp;retval, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line">axis_distance (<span class='keyword'>int</span> p, <span class='keyword'>int</span> axis_start, <span class='keyword'>int</span> axis_size)</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> <span class='keyword'>if</span> (p &gt;= axis_start &amp;&amp; p &lt; axis_start + axis_size)</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (p &lt; axis_start)</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> <span class='keyword'>return</span> (axis_start - p);</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> <span class='keyword'>return</span> (p - (axis_start + axis_size - 1));</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"><span class='comment'>/* The panel can't use gdk_screen_get_monitor_at_point() since it has its own</span></td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> <span class='comment'>* view of which monitors are present. Look at get_monitors_for_screen() above</span></td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> <span class='comment'>* to see why. */</span></td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line">panel_multimonitor_get_monitor_at_point (<span class='keyword'>int</span> x, <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>int</span> min_dist_squared;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> <span class='keyword'>int</span> closest_monitor;</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> min_dist_squared = <span class='macro'>G_MAXINT32<span class='macro_popup'>((gint32) 0x7fffffff)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> closest_monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; monitor_count; i++) {</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>int</span> dist_x, dist_y;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>int</span> dist_squared;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> dist_x = axis_distance (x, geometries[i].x, geometries[i].width);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> dist_y = axis_distance (y, geometries[i].y, geometries[i].height);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> <span class='keyword'>if</span> (dist_x == 0 &amp;&amp; dist_y == 0)</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> <span class='keyword'>return</span> i;</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> dist_squared = dist_x * dist_x + dist_y * dist_y;</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='keyword'>if</span> (dist_squared &lt; min_dist_squared) {</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> min_dist_squared = dist_squared;</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> closest_monitor = i;</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> <span class='keyword'>return</span> closest_monitor;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>int</span> x0;</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> <span class='keyword'>int</span> y0;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>int</span> x1;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>int</span> y1;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">} MonitorBounds;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">get_monitor_bounds (<span class='keyword'>int</span> n_monitor,</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> MonitorBounds *bounds)</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='macro'>g_return_if_fail (n_monitor &gt;= 0 || n_monitor &lt; monitor_count)<span class='macro_popup'>do { if ((n_monitor &gt;= 0 || n_monitor &lt; monitor_count))<br> { } else { g_return_if_fail_warning (((gchar*) 0), ((const char<br>*) (__func__)), "n_monitor &gt;= 0 || n_monitor &lt; monitor_count"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='macro'>g_return_if_fail (bounds != NULL)<span class='macro_popup'>do { if ((bounds != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "bounds != NULL")<br>; return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> bounds-&gt;x0 = geometries [n_monitor].x;</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> bounds-&gt;y0 = geometries [n_monitor].y;</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> bounds-&gt;x1 = bounds-&gt;x0 + geometries [n_monitor].width;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> bounds-&gt;y1 = bounds-&gt;y0 + geometries [n_monitor].height;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"><span class='comment'>/* determines whether a given monitor is along the visible</span></td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='comment'>* edge of the logical screen.</span></td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">panel_multimonitor_is_at_visible_extreme (<span class='keyword'>int</span> n_monitor,</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> gboolean *leftmost,</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> gboolean *rightmost,</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> gboolean *topmost,</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> gboolean *bottommost)</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> MonitorBounds monitor;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> *leftmost = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> *rightmost = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> *topmost = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> *bottommost = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='macro'>g_return_if_fail (n_monitor &gt;= 0 &amp;&amp; n_monitor &lt; monitor_count)<span class='macro_popup'>do { if ((n_monitor &gt;= 0 &amp;&amp; n_monitor &lt; monitor_count<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "n_monitor &gt;= 0 &amp;&amp; n_monitor &lt; monitor_count"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> get_monitor_bounds (n_monitor, &amp;monitor);</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> <span class='comment'>/* go through each monitor and try to find one either right,</span></td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> <span class='comment'>* below, above, or left of the specified monitor</span></td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; monitor_count; i++) {</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> MonitorBounds iter;</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> <span class='keyword'>if</span> (i == n_monitor) <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> get_monitor_bounds (i, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='keyword'>if</span> ((iter.y0 &gt;= monitor.y0 &amp;&amp; iter.y0 &lt; monitor.y1) ||</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> (iter.y1 &gt; monitor.y0 &amp;&amp; iter.y1 &lt;= monitor.y1)) {</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>if</span> (iter.x0 &lt; monitor.x0)</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> *leftmost = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='keyword'>if</span> (iter.x1 &gt; monitor.x1)</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> *rightmost = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> <span class='keyword'>if</span> ((iter.x0 &gt;= monitor.x0 &amp;&amp; iter.x0 &lt; monitor.x1) ||</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> (iter.x1 &gt; monitor.x0 &amp;&amp; iter.x1 &lt;= monitor.x1)) {</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='keyword'>if</span> (iter.y0 &lt; monitor.y0)</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> *topmost = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>if</span> (iter.y1 &gt; monitor.y1)</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> *bottommost = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">panel_multimonitor_get_bounds (GdkPoint *min,</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> GdkPoint *max)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='macro'>g_return_if_fail (monitor_count &gt; 0)<span class='macro_popup'>do { if ((monitor_count &gt; 0)) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "monitor_count &gt; 0"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> min-&gt;x = min-&gt;y = <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> max-&gt;x = max-&gt;y = <span class='macro'>G_MININT<span class='macro_popup'>(-2147483647 -1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; monitor_count; i++) {</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> min-&gt;x = <span class='macro'>MIN (min-&gt;x, geometries[i].x)<span class='macro_popup'>(((min-&gt;x) &lt; (geometries[i].x)) ? (min-&gt;x) : (geometries<br>[i].x))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> min-&gt;y = <span class='macro'>MIN (min-&gt;y, geometries[i].y)<span class='macro_popup'>(((min-&gt;y) &lt; (geometries[i].y)) ? (min-&gt;y) : (geometries<br>[i].y))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> max-&gt;x = <span class='macro'>MAX (max-&gt;x, geometries[i].x + geometries[i].width)<span class='macro_popup'>(((max-&gt;x) &gt; (geometries[i].x + geometries[i].width)) ?<br> (max-&gt;x) : (geometries[i].x + geometries[i].width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> max-&gt;y = <span class='macro'>MAX (max-&gt;y, geometries[i].y + geometries[i].height)<span class='macro_popup'>(((max-&gt;y) &gt; (geometries[i].y + geometries[i].height)) ?<br> (max-&gt;y) : (geometries[i].y + geometries[i].height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-d88d55.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-d88d55.html
new file mode 100644
index 00000000..64b40964
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-d88d55.html
@@ -0,0 +1,3246 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet.c -->
+
+<!-- FILENAME mate-panel-applet.c -->
+
+<!-- FUNCTIONNAME mate_panel_applet_set_size_hints -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT d88d553acde62ab96adb39bca65dccd1 -->
+
+<!-- BUGLINE 336 -->
+
+<!-- BUGCOLUMN 47 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 336, column 47</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"336": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet.c: panel applet writing library.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (c) 2010 Carlos Garcia Campos &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2001 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;cairo-xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;gtk/gtkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;X11/Xatom.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-plug-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-applet-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "mate-panel-applet-factory.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "mate-panel-applet-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "mate-panel-applet-enums.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget *plug;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> GDBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gboolean out_of_process;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> GClosure *closure;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint object_id;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>char</span> *prefs_path;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> GtkUIManager *ui_manager;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkActionGroup *applet_action_group;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> GtkActionGroup *panel_action_group;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint size;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>char</span> *background;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>int</span> previous_width;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>int</span> previous_height;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='keyword'>int</span> size_hints_len;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gboolean moving_focus_out;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> gboolean locked_down;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} MatePanelAppletPrivate;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> CHANGE_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> CHANGE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> CHANGE_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> MOVE_FOCUS_OUT_OF_APPLET,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"><span class='keyword'>static</span> guint mate_panel_applet_signals[LAST_SIGNAL] = { 0 };</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> PROP_LOCKED_DOWN</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_handle_background (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> GtkAction *mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>const</span> gchar *action);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_update_actions (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_register_object (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css (GtkWidget* widget, MatePanelAppletBackgroundType type);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar panel_menu_ui[] =</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='string_literal'>"&lt;ui&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>" &lt;popup name=\"MatePanelAppletPopup\" action=\"PopupAction\"&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='string_literal'>" &lt;placeholder name=\"AppletItems\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"RemoveItem\" action=\"Remove\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"MoveItem\" action=\"Move\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"LockItem\" action=\"Lock\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='string_literal'>" &lt;/popup&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='string_literal'>"&lt;/ui&gt;\n"</span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry menu_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> { <span class='string_literal'>"Remove"</span>, <span class='string_literal'>"list-remove"</span>, <span class='macro'>N_(<span class='string_literal'>"_Remove From Panel"</span>)<span class='macro_popup'>("_Remove From Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_remove)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_remove))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> { <span class='string_literal'>"Move"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"_Move"</span>)<span class='macro_popup'>("_Move")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_move)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_move))</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkToggleActionEntry menu_toggle_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> { <span class='string_literal'>"Lock"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"Loc_k To Panel"</span>)<span class='macro_popup'>("Loc_k To Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_lock)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_lock))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (MatePanelApplet, mate_panel_applet, GTK_TYPE_EVENT_BOX)<span class='macro_popup'>static void mate_panel_applet_init (MatePanelApplet *self); static<br> void mate_panel_applet_class_init (MatePanelAppletClass *klass<br>); static GType mate_panel_applet_get_type_once (void); static<br> gpointer mate_panel_applet_parent_class = ((void*)0); static<br> gint MatePanelApplet_private_offset; static void mate_panel_applet_class_intern_init<br> (gpointer klass) { mate_panel_applet_parent_class = g_type_class_peek_parent<br> (klass); if (MatePanelApplet_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;MatePanelApplet_private_offset); mate_panel_applet_class_init<br> ((MatePanelAppletClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer mate_panel_applet_get_instance_private<br> (MatePanelApplet *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (MatePanelApplet_private_offset)))); } GType mate_panel_applet_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = mate_panel_applet_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType mate_panel_applet_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_event_box_get_type ()), g_intern_static_string ("MatePanelApplet"<br>), sizeof (MatePanelAppletClass), (GClassInitFunc)(void (*)(void<br>)) mate_panel_applet_class_intern_init, sizeof (MatePanelApplet<br>), (GInstanceInitFunc)(void (*)(void)) mate_panel_applet_init<br>, (GTypeFlags) 0); { {{ MatePanelApplet_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (MatePanelAppletPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span> "org.mate.panel.applet.Applet"</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span> "/org/mate/panel/applet/%s/%d"</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">mate_panel_applet_get_preferences_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (priv-&gt;prefs_path)<span class='macro_popup'>g_strdup_inline (priv-&gt;prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">mate_panel_applet_set_preferences_path (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;prefs_path == prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;prefs_path, prefs_path) == 0)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>if</span> (prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> priv-&gt;prefs_path = <span class='macro'>g_strdup (prefs_path)<span class='macro_popup'>g_strdup_inline (prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"prefs-path"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">MatePanelAppletFlags</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line">mate_panel_applet_get_flags (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), MATE_PANEL_APPLET_FLAGS_NONE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (MATE_PANEL_APPLET_FLAGS_NONE); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>return</span> priv-&gt;flags;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">mate_panel_applet_set_flags (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> MatePanelAppletFlags flags)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;flags == flags)</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> priv-&gt;flags = flags;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"flags"</span>);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> g_variant_new_uint32 (priv-&gt;flags));</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::Flags: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line">mate_panel_applet_size_hints_ensure (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> new_size)</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints &amp;&amp; priv-&gt;size_hints_len &lt; new_size) {</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> g_free (priv-&gt;size_hints);</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!priv-&gt;size_hints) {</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> priv-&gt;size_hints_len = new_size;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line">mate_panel_applet_size_hints_changed (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;size_hints)</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints_len != n_elements)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++) {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>if</span> (size_hints[i] + base_size != priv-&gt;size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='comment'>* mate_panel_applet_set_size_hints:</span></td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='comment'>* @applet: applet</span></td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='comment'>* @size_hints: (array length=n_elements): List of integers</span></td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='comment'>* @n_elements: Length of @size_hints</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='comment'>* @base_size: base_size</span></td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line">mate_panel_applet_set_size_hints (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='comment'>/* Make sure property has really changed to avoid bus traffic */</span></td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_size_hints_changed (applet, size_hints, n_elements, base_size))</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> mate_panel_applet_size_hints_ensure (applet, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> priv-&gt;size_hints[i] = size_hints[i] + base_size;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size-hints"</span>);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_variant_new_array (<span class="mrange"><span class="mrange"><span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span></span></span>,</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:61ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> children, priv-&gt;size_hints_len));</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::SizeHints: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line">guint</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line">mate_panel_applet_get_size (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>return</span> priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"><span class='comment'>/* Applets cannot set their size, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line">mate_panel_applet_set_size (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> guint size)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE],</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> 0, size);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line">MatePanelAppletOrient</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">mate_panel_applet_get_orient (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span> priv-&gt;orient;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"><span class='comment'>/* Applets cannot set their orientation, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">mate_panel_applet_set_orient (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> MatePanelAppletOrient orient)</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == orient)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> priv-&gt;orient = orient;</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT],</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> 0, orient);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orient"</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line">mate_panel_applet_set_locked (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> gboolean locked)</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> GtkAction *action;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked == locked)</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> priv-&gt;locked = locked;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> action = mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>);</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='macro'>g_signal_handlers_block_by_func (action,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> gtk_toggle_action_set_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>, locked);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='macro'>g_signal_handlers_unblock_by_func (action,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked"</span>);</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal %s: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line">mate_panel_applet_get_locked_down (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> priv-&gt;locked_down;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"><span class='comment'>/* Applets cannot set the lockdown state, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line">mate_panel_applet_set_locked_down (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> gboolean locked_down)</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked_down == locked_down)</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> priv-&gt;locked_down = locked_down;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked-down"</span>);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type_dock = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"><span class='keyword'>static</span> Atom _net_active_window = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line">mate_panel_applet_init_atoms (Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> _net_wm_window_type = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE"</span>,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type_dock == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> _net_wm_window_type_dock = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE_DOCK"</span>,</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (_net_active_window == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> _net_active_window = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='string_literal'>"_NET_ACTIVE_WINDOW"</span>,</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='keyword'>static</span> Window</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line">mate_panel_applet_find_toplevel_dock_window (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> Window xwin;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> Window root, parent, *child;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>int</span> num_children;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> xwin = <span class='macro'>GDK_WINDOW_XID (gtk_widget_get_window (toplevel))<span class='macro_popup'>(gdk_x11_window_get_xid (gtk_widget_get_window (toplevel)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> child = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> parent = root = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> Atom type_return;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> Atom window_type;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='keyword'>int</span> format_return;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> gulong number_return, bytes_after_return;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> guchar *data_return;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> XGetWindowProperty (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> _net_wm_window_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> 0, 1, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> &amp;type_return, &amp;format_return,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> &amp;number_return,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> &amp;bytes_after_return,</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> &amp;data_return);</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='keyword'>if</span> (type_return == <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> window_type = *(Atom *) data_return;</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> XFree (data_return);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> data_return = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='keyword'>if</span> (window_type == _net_wm_window_type_dock)</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='keyword'>return</span> xwin;</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> <span class='keyword'>if</span> (!XQueryTree (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> &amp;root, &amp;parent, &amp;child,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> (guint *) &amp;num_children)) {</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; num_children &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> XFree (child);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> xwin = parent;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> } <span class='keyword'>while</span> (xwin != <span class='macro'>None<span class='macro_popup'>0L</span></span> &amp;&amp; xwin != root);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"><span class='comment'>/* This function</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> <span class='comment'>* 1) Gets the window id of the panel that contains the applet</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='comment'>* using XQueryTree and XGetWindowProperty to find an ancestor</span></td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='comment'>* window with the _NET_WM_WINDOW_TYPE_DOCK window type.</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='comment'>* 2) Sends a _NET_ACTIVE_WINDOW message to get that panel focused</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">mate_panel_applet_request_focus (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> guint32 timestamp)</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> GdkWindow *root;</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> Window dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> Window xroot;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> XEvent xev;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> screen = gdk_screen_get_default(); <span class='comment'>/*There is only one screen since GTK 3.22*/</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> root = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> xdisplay = <span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> xroot = <span class='macro'>GDK_WINDOW_XID (root)<span class='macro_popup'>(gdk_x11_window_get_xid (root))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> mate_panel_applet_init_atoms (xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> dock_xwindow = mate_panel_applet_find_toplevel_dock_window (applet, xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>if</span> (dock_xwindow == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> xev.xclient.type = <span class='macro'>ClientMessage<span class='macro_popup'>33</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> xev.xclient.serial = 0;</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> xev.xclient.send_event = <span class='macro'>True<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> xev.xclient.window = dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xev.xclient.message_type = _net_active_window;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> xev.xclient.format = 32;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> xev.xclient.data.l[0] = 1; <span class='comment'>/* requestor type; we're an app, I guess */</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> xev.xclient.data.l[1] = timestamp;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> xev.xclient.data.l[2] = <span class='macro'>None<span class='macro_popup'>0L</span></span>; <span class='comment'>/* "currently active window", supposedly */</span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> xev.xclient.data.l[3] = 0;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> xev.xclient.data.l[4] = 0;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> XSendEvent (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> xroot, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='macro'>SubstructureRedirectMask<span class='macro_popup'>(1L&lt;&lt;20)</span></span> | <span class='macro'>SubstructureNotifyMask<span class='macro_popup'>(1L&lt;&lt;19)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> &amp;xev);</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"><span class='keyword'>static</span> GtkAction *</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line">mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>const</span> gchar *action)</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span> gtk_action_group_get_action (priv-&gt;panel_action_group, action);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line">mate_panel_applet_menu_update_actions (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>),</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Move"</span>),</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Remove"</span>),</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='string_literal'>"RemoveFromPanel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='string_literal'>"Move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line">mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> locked = gtk_toggle_action_get_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> mate_panel_applet_set_locked (applet, locked);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line">mate_panel_applet_setup_menu (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>const</span> gchar *xml,</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> gchar *new_xml;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> <span class='macro'>g_return_if_fail (xml != NULL)<span class='macro_popup'>do { if ((xml != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xml != NULL"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> priv-&gt;applet_action_group = <span class='macro'>g_object_ref (applet_action_group)<span class='macro_popup'>((__typeof__ (applet_action_group)) (g_object_ref) (applet_action_group<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> applet_action_group, 0);</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> new_xml = g_strdup_printf (<span class='string_literal'>"&lt;ui&gt;&lt;popup name=\"MatePanelAppletPopup\" action=\"AppletItems\"&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='string_literal'>"&lt;placeholder name=\"AppletItems\"&gt;%s\n&lt;/placeholder&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='string_literal'>"&lt;/popup&gt;&lt;/ui&gt;\n"</span>, xml);</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager, new_xml, -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> g_free (new_xml);</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> gtk_ui_manager_ensure_update (priv-&gt;ui_manager);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> g_warning (<span class='string_literal'>"Error merging menus: %s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line">mate_panel_applet_setup_menu_from_file (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>const</span> gchar *filename,</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> gchar *xml = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='keyword'>if</span> (g_file_get_contents (filename, &amp;xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> mate_panel_applet_setup_menu (applet, xml, applet_action_group);</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> g_free (xml);</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* mate_panel_applet_setup_menu_from_resource:</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>* @applet: a #MatePanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='comment'>* @resource_path: a resource path</span></td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='comment'>* @action_group: a #GtkActionGroup.</span></td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='comment'>* Sets up the context menu of @applet. @filename is a resource path to a menu</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='comment'>* XML file, containing a #GtkUIManager UI definition that describes how to</span></td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='comment'>* display the menu items. @action_group contains the various #GtkAction that</span></td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='comment'>* are referenced in @xml.</span></td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='comment'>* See also the &lt;link linkend="getting-started.context-menu"&gt;Context</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='comment'>* Menu&lt;/link&gt; section.</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='comment'>* Since: 1.20.1</span></td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line">mate_panel_applet_setup_menu_from_resource (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>const</span> gchar *resource_path,</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> GtkActionGroup *action_group)</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> GBytes *bytes;</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> bytes = g_resources_lookup_data (resource_path,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> G_RESOURCE_LOOKUP_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> <span class='keyword'>if</span> (bytes) {</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> mate_panel_applet_setup_menu (applet,</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> g_bytes_get_data (bytes, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> g_bytes_unref (bytes);</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">mate_panel_applet_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;object_id)</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_dbus_connection_unregister_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> priv-&gt;object_id);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> priv-&gt;object_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;connection)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;connection)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;connection))) _pp = ((&amp;priv-&gt;connection)<br>); __typeof__ (*((&amp;priv-&gt;connection))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;object_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;object_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;object_path)) _pp = (&amp;priv-&gt;object_path); __typeof__<br> (*(&amp;priv-&gt;object_path)) _ptr = *_pp; *_pp = ((void*)0<br>); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> mate_panel_applet_set_preferences_path (applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;applet_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;applet_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;applet_action_group))) _pp = ((&amp;priv-&gt;<br>applet_action_group)); __typeof__ (*((&amp;priv-&gt;applet_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;panel_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;panel_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;panel_action_group))) _pp = ((&amp;priv-&gt;<br>panel_action_group)); __typeof__ (*((&amp;priv-&gt;panel_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;ui_manager)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;ui_manager)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;ui_manager))) _pp = ((&amp;priv-&gt;ui_manager)<br>); __typeof__ (*((&amp;priv-&gt;ui_manager))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;size_hints, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;size_hints) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;size_hints)) _pp = (&amp;priv-&gt;size_hints); __typeof__<br> (*(&amp;priv-&gt;size_hints)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;prefs_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;prefs_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;prefs_path)) _pp = (&amp;priv-&gt;prefs_path); __typeof__<br> (*(&amp;priv-&gt;prefs_path)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;background, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;background) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;background)) _pp = (&amp;priv-&gt;background); __typeof__<br> (*(&amp;priv-&gt;background)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;id, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;id) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;priv-&gt;<br>id)) _pp = (&amp;priv-&gt;id); __typeof__ (*(&amp;priv-&gt;id<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> <span class='comment'>/* closure is owned by the factory */</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> priv-&gt;closure = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line">container_has_focusable_child (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GList *t;</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> list = gtk_container_get_children (container);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='keyword'>for</span> (t = list; t; t = t-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> GtkWidget *child = <span class='macro'>GTK_WIDGET (t-&gt;data)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((t-&gt;data)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_can_focus (child)) {</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GTK_IS_CONTAINER (child)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(child)); GType __t = ((gtk_container_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> retval = container_has_focusable_child (<span class='macro'>GTK_CONTAINER (child)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((child)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='keyword'>if</span> (retval)</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_list_free (list);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line">mate_panel_applet_menu_popup (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> GdkEvent *event)</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> GtkWidget *menu;</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> menu = gtk_ui_manager_get_widget (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='string_literal'>"/MatePanelAppletPopup"</span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='comment'>/* Set up theme and transparency support */</span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> GtkWidget *toplevel = gtk_widget_get_toplevel (menu);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"><span class='comment'>/* Fix any failures of compiz/other wm's to communicate with gtk for transparency */</span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"><span class='comment'>/* Set menu and it's toplevel window to follow panel theme */</span></td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> GdkGravity widget_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> GdkGravity menu_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (priv-&gt;orient) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> menu_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> widget_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> menu_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> widget_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> gtk_menu_popup_at_widget (<span class='macro'>GTK_MENU (menu)<span class='macro_popup'>((((GtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> widget_anchor,</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> menu_anchor,</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> event);</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line">mate_panel_applet_can_focus (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='comment'>* A MatePanelApplet widget can focus if it has a tooltip or it does</span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='comment'>* not have any focusable children.</span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget))</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>if</span> (!MATE_PANEL_IS_APPLET (widget))</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>return</span> !container_has_focusable_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"><span class='comment'>/* Taken from libmatecomponentui/matecomponent/matecomponent-plug.c */</span></td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line">mate_panel_applet_button_event (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> GdkWindow *socket_window;</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> XEvent xevent;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> widget = priv-&gt;plug;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_toplevel (widget))</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> socket_window = gtk_plug_get_socket_window (<span class='macro'>GTK_PLUG (widget)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (event-&gt;type == GDK_BUTTON_PRESS) {</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonPress<span class='macro_popup'>4</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='comment'>/* X does an automatic pointer grab on button press</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='comment'>* if we have both button press and release events</span></td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='comment'>* selected.</span></td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='comment'>* We don't want to hog the pointer on our parent.</span></td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonRelease<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> xevent.xbutton.display = <span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> xevent.xbutton.window = <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> xevent.xbutton.root = <span class='macro'>GDK_WINDOW_XID (gdk_screen_get_root_window<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> <span class='macro'>(gdk_window_get_screen (window)))<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> <span class='comment'>* FIXME: the following might cause</span></td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='comment'>* big problems for non-GTK apps</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> xevent.xbutton.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> xevent.xbutton.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> xevent.xbutton.x_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> xevent.xbutton.y_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> xevent.xbutton.state = event-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> xevent.xbutton.button = event-&gt;button;</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xevent.xbutton.same_screen = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; <span class='comment'>/* FIXME ? */</span></td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> XSendEvent (<span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>NoEventMask<span class='macro_popup'>0L</span></span>, &amp;xevent);</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> gdk_display_flush (display);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line">mate_panel_applet_button_press (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>if</span> (!container_has_focusable_child (<span class='macro'>GTK_CONTAINER (applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_container_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>/*Limit the window list's applet menu to the handle area*/</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='keyword'>if</span> (!(<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> flags = mate_panel_applet_get_flags (applet);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>if</span> (flags &amp; MATE_PANEL_APPLET_EXPAND_MAJOR)</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 3) {</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> mate_panel_applet_menu_popup (applet, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">mate_panel_applet_button_release (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='comment'>/*Open the applet context menu only on Menu key</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='comment'>*Do not open it on Return or some applets won't work</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line">mate_panel_applet_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='keyword'>if</span> (event-&gt;keyval == <span class='macro'>GDK_KEY_Menu<span class='macro_popup'>0xff67</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> mate_panel_applet_menu_popup (MATE_PANEL_APPLET (widget), (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line">mate_panel_applet_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> <span class='keyword'>int</span> *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>int</span> *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_width (widget,</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> natural_width);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> *minimum_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> *natural_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line">mate_panel_applet_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='keyword'>int</span> *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>int</span> *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_height (widget,</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> natural_height);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> *minimum_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> *natural_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"><span class='keyword'>static</span> GtkSizeRequestMode</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line">mate_panel_applet_get_request_mode (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='comment'>/* Do not use GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='comment'>* or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='comment'>* to avoid problems with in-process applets</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='comment'>* when the panel is not expanded</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='comment'>* See https://github.com/mate-desktop/mate-panel/issues/797</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='comment'>* and https://github.com/mate-desktop/mate-panel/issues/799</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='comment'>* Out of process applets already use GTK_SIZE_REQUEST_CONSTANT_SIZE</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>return</span> GTK_SIZE_REQUEST_CONSTANT_SIZE;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line">mate_panel_applet_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_can_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;size_allocate (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>int</span> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> GtkBin *bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> child_allocation.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> child_allocation.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> child_allocation.width = <span class='macro'>MAX (allocation-&gt;width - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;width - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;width - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> child_allocation.height = <span class='macro'>MAX (allocation-&gt;height - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;height - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;height - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> allocation-&gt;x + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> allocation-&gt;y + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> child_allocation.width,</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> child_allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> GtkWidget *child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>if</span> (child)</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> gtk_widget_size_allocate (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='keyword'>if</span> ((priv-&gt;previous_height != allocation-&gt;height) ||</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> (priv-&gt;previous_width != allocation-&gt;width)) {</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> priv-&gt;previous_height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> priv-&gt;previous_width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"><span class='keyword'>static</span> gboolean mate_panel_applet_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> <span class='keyword'>int</span> border_width;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> gdouble x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;draw(widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget))</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> width = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> height = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> width -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> height -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_render_focus (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line">mate_panel_applet_focus (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> GtkWidget *previous_focus_child;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (widget), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (widget))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (widget)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;moving_focus_out) {</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='comment'>* Applet will retain focus if there is nothing else on the</span></td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='comment'>* panel to get focus</span></td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> previous_focus_child = gtk_container_get_focus_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='keyword'>if</span> (!previous_focus_child &amp;&amp; !gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> ret = <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;focus (widget, dir);</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> <span class='keyword'>if</span> (!ret &amp;&amp; !previous_focus_child) {</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> <span class='comment'>* Applet does not have a widget which can focus so set</span></td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>* the focus on the applet unless it already had focus</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* because it had a tooltip.</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line">mate_panel_applet_parse_color (<span class='keyword'>const</span> gchar *color_str,</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='macro'>g_assert (color_str &amp;&amp; color)<span class='macro_popup'>do { if (color_str &amp;&amp; color) ; else g_assertion_message_expr<br> (((gchar*) 0), "mate-panel-applet.c", 1285, ((const char*) (<br>__func__)), "color_str &amp;&amp; color"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='keyword'>return</span> gdk_rgba_parse (color, color_str);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line">mate_panel_applet_parse_pixmap_str (<span class='keyword'>const</span> <span class='keyword'>char</span> *str,</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> Window *xid,</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> *y)</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> <span class='keyword'>char</span> *tmp;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> <span class='macro'>g_return_val_if_fail (str != NULL, FALSE)<span class='macro_popup'>do { if ((str != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "str != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> <span class='macro'>g_return_val_if_fail (xid != NULL, FALSE)<span class='macro_popup'>do { if ((xid != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xid != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>g_return_val_if_fail (x != NULL, FALSE)<span class='macro_popup'>do { if ((x != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "x != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='macro'>g_return_val_if_fail (y != NULL, FALSE)<span class='macro_popup'>do { if ((y != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "y != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> elements = g_strsplit (str, <span class='string_literal'>","</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> <span class='keyword'>if</span> (!elements)</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> <span class='keyword'>if</span> (!elements [0] || !*elements [0] ||</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> !elements [1] || !*elements [1] ||</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> !elements [2] || !*elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> *xid = strtol (elements [0], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [0])</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> *x = strtol (elements [1], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [1])</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> *y = strtol (elements [2], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line">ERROR_AND_FREE:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"><span class='keyword'>static</span> cairo_surface_t *</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line">mate_panel_applet_create_foreign_surface_for_display (GdkDisplay *display,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> GdkVisual *visual,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> Window xid)</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>Status<span class='macro_popup'>int</span></span> result = 0;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> Window window;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> gint x, y;</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> guint width, height, border, depth;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> result = XGetGeometry (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>, xid, &amp;window,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> &amp;x, &amp;y, &amp;width, &amp;height, &amp;border, &amp;depth);</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>if</span> (result == 0)</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> <span class='keyword'>return</span> cairo_xlib_surface_create (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> xid, gdk_x11_visual_get_xvisual (visual),</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"><span class='keyword'>static</span> cairo_pattern_t *</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line">mate_panel_applet_get_pattern_from_pixmap (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> Window xid,</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> cairo_surface_t *background;</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> <span class='keyword'>int</span> width;</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>int</span> height;</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> background = mate_panel_applet_create_foreign_surface_for_display (display,</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> gdk_window_get_visual (window),</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> xid);</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='comment'>/* background can be NULL if the user changes the background very fast.</span></td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='comment'>* We'll get the next update, so it's not a big deal. */</span></td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>if</span> (!background || cairo_surface_status (background) != CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> <span class='keyword'>if</span> (background)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> width = gdk_window_get_width(window);</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> height = gdk_window_get_height(window);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> surface = gdk_window_create_similar_surface (window,</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> width,</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> height);</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> cr = cairo_create (surface);</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> cairo_set_source_surface (cr, background, -x, -y);</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>if</span> (cairo_status (cr) == CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> pattern = cairo_pattern_create_for_surface (surface);</td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> <span class='keyword'>return</span> pattern;</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"><span class='keyword'>static</span> MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line">mate_panel_applet_handle_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> MatePanelAppletBackgroundType retval;</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>) || !priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> elements = g_strsplit (priv-&gt;background, <span class='string_literal'>":"</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"none"</span> )) {</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='macro'>g_return_val_if_fail (color != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> <span class='keyword'>if</span> (!elements [1] || !mate_panel_applet_parse_color (elements [1], color)) {</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received"</span>, elements [0]);</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> retval = PANEL_COLOR_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"pixmap"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> Window pixmap_id;</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='macro'>g_return_val_if_fail (pattern != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((pattern != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "pattern != NULL"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_parse_pixmap_str (elements [1], &amp;pixmap_id, &amp;x, &amp;y)) {</td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> elements [0], elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> *pattern = mate_panel_applet_get_pattern_from_pixmap (applet, pixmap_id, x, y);</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> <span class='keyword'>if</span> (!*pattern) {</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> g_warning (<span class='string_literal'>"Failed to get pattern %s"</span>, elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> retval = PANEL_PIXMAP_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> g_warning(<span class='string_literal'>"Received pixmap background type, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> g_warning (<span class='string_literal'>"Unknown background type received"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line">MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line">mate_panel_applet_get_background (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> <span class='comment'>/* initial sanity */</span></td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> <span class='keyword'>if</span> (pattern != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> *pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> <span class='keyword'>if</span> (color != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> memset (color, 0, <span class='keyword'>sizeof</span> (GdkRGBA));</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_handle_background_string (applet, color, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line">mate_panel_applet_set_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> <span class='keyword'>const</span> gchar *background)</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background == background)</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;background, background) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> g_free (priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> priv-&gt;background = background ? <span class='macro'>g_strdup (background)<span class='macro_popup'>g_strdup_inline (background)</span></span> : <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line">mate_panel_applet_handle_background (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> MatePanelAppletBackgroundType type;</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> type = mate_panel_applet_get_background (applet, &amp;color, &amp;pattern);</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> <span class='keyword'>if</span> (!gdk_screen_is_composited (gdk_screen_get_default ())) {</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> 0, PANEL_NO_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> 0, PANEL_COLOR_BACKGROUND, &amp;color, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> 0, PANEL_PIXMAP_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> cairo_pattern_destroy (pattern);</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1562, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line">mate_panel_applet_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line">mate_panel_applet_move_focus_out_of_applet (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel)<span class='macro_popup'>do { if ((toplevel)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "toplevel"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> gtk_widget_child_focus (toplevel, dir);</td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line">mate_panel_applet_change_background(MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> MatePanelAppletBackgroundType type,</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> GdkRGBA* color,</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> cairo_pattern_t *pattern)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> gtk_widget_set_app_paintable (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> _mate_panel_applet_apply_css (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>,type);</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> cairo_pattern_t *transparent = cairo_pattern_create_rgba (0, 0, 0, 0); <span class='comment'>/* Using NULL here breaks transparent */</span></td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> gdk_window_set_background_pattern (window, transparent); <span class='comment'>/* backgrounds set by GTK theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> cairo_pattern_destroy (transparent);</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> gdk_window_set_background_rgba(window,color);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> gdk_window_set_background_pattern(window,pattern);</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1639, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_UP ||</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"horizontal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"vertical"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">mate_panel_applet_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_value_set_boolean (value, priv-&gt;out_of_process);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> g_value_set_string (value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> g_value_set_pointer (value, priv-&gt;closure);</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> g_value_set_object (value, priv-&gt;connection);</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line"> g_value_set_string (value, priv-&gt;prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line"> g_value_set_uint (value, priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> g_value_set_uint (value, priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> g_value_set_string (value, priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> g_value_set_uint (value, priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> GVariant *variant;</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> variant = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> g_value_set_pointer (value, variant);</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1717, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line">mate_panel_applet_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> priv-&gt;out_of_process = g_value_get_boolean (value);</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> priv-&gt;id = g_value_dup_string (value);</td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> priv-&gt;closure = g_value_get_pointer (value);</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> g_closure_set_marshal (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> mate_panel_applet_marshal_BOOLEAN__STRING);</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> priv-&gt;connection = g_value_dup_object (value);</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> mate_panel_applet_set_orient (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> mate_panel_applet_set_size (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> mate_panel_applet_set_background_string (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> mate_panel_applet_set_flags (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> size_hints = g_variant_get_fixed_array (g_value_get_pointer (value),</td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> mate_panel_applet_set_locked (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1779, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line">add_tab_bindings (GtkBindingSet *binding_set,</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> GdkModifierType modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> GtkDirectionType direction)</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_Tab<span class='macro_popup'>0xff09</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_KP_Tab<span class='macro_popup'>0xff89</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line">mate_panel_applet_setup (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> GValue value = {0, };</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> GArray *params;</td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> <span class='macro'>g_assert ((priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL))<span class='macro_popup'>do { if ((priv-&gt;id != ((void*)0)) &amp;&amp; (priv-&gt;closure<br> != ((void*)0))) ; else g_assertion_message_expr (((gchar*) 0<br>), "mate-panel-applet.c", 1807, ((const char*) (__func__)), "(priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> params = g_array_sized_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (GValue), 2);</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"> g_value_set_object (&amp;value, <span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> g_value_set_string (&amp;value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> g_closure_invoke (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> &amp;value, params-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> (GValue *) params-&gt;data,</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; params-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> g_value_unset (&amp;<span class='macro'>g_array_index (params, GValue, i)<span class='macro_popup'>(((GValue*) (void *) (params)-&gt;data) [(i)])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> g_array_free (params, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> ret = g_value_get_boolean (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> <span class='keyword'>if</span> (!ret) { <span class='comment'>/* FIXME */</span></td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> g_warning (<span class='string_literal'>"need to free the control here"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css(GtkWidget* widget, MatePanelAppletBackgroundType type)</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> GtkStyleContext* context;</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> gtk_style_context_remove_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1857, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> _mate_panel_applet_prepare_css (GtkStyleContext *context)</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gdk_display_get_default ())"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> <span class='string_literal'>"#PanelPlug {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='string_literal'>" background-repeat: no-repeat;\n"</span> <span class='comment'>/*disable in gtk theme features */</span></td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> <span class='string_literal'>" background-size: cover; "</span> <span class='comment'>/*that don't work on panel-toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> <span class='string_literal'>" }\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> <span class='string_literal'>".mate-custom-panel-background{\n"</span> <span class='comment'>/*prepare CSS for user set theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> <span class='string_literal'>" background-color: rgba (0, 0, 0, 0);\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='string_literal'>" background-image: none;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> <span class='string_literal'>"}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> gtk_style_context_add_provider (context,</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line">mate_panel_applet_init (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> priv-&gt;flags = MATE_PANEL_APPLET_FLAGS_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> priv-&gt;orient = MATE_PANEL_APPLET_ORIENT_UP;</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> priv-&gt;size = 24;</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line"> priv-&gt;panel_action_group = gtk_action_group_new (<span class='string_literal'>"PanelActions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> gtk_action_group_set_translation_domain (priv-&gt;panel_action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> gtk_action_group_add_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> menu_entries,</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_entries)<span class='macro_popup'>(sizeof (menu_entries) / sizeof ((menu_entries)[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> gtk_action_group_add_toggle_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> menu_toggle_entries,</td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_toggle_entries)<span class='macro_popup'>(sizeof (menu_toggle_entries) / sizeof ((menu_toggle_entries)<br>[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> priv-&gt;ui_manager = gtk_ui_manager_new ();</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> priv-&gt;panel_action_group, 1);</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> panel_menu_ui, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> gtk_widget_set_events (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"><span class='keyword'>static</span> GObject *</td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line">mate_panel_applet_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> priv-&gt;plug = gtk_plug_new (0);</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> gtk_widget_set_visual (widget,</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget)));</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"> gtk_widget_set_name (widget, <span class='string_literal'>"PanelPlug"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> _mate_panel_applet_prepare_css (context);</td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='macro'>g_signal_connect_swapped (priv-&gt;plug, <span class='string_literal'>"embedded"</span>,<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_setup),<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (priv-&gt;plug)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_container_get_type ()))))))</span></span>, <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line"> g_warning (<span class='string_literal'>"Requested construction of an out-of-process applet, which is only possible on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line">mate_panel_applet_constructed (GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> MatePanelApplet* applet = MATE_PANEL_APPLET(object);</td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> <span class='comment'>/* Rename the class to have compatibility with all GTK2 themes</span></td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>* https://github.com/perberos/Mate-Desktop-Environment/issues/27</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> gtk_widget_set_name(<span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> mate_panel_applet_register_object (applet);</td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line">mate_panel_applet_class_init (MatePanelAppletClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> gobject_class-&gt;get_property = mate_panel_applet_get_property;</td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> gobject_class-&gt;set_property = mate_panel_applet_set_property;</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> gobject_class-&gt;constructor = mate_panel_applet_constructor;</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> gobject_class-&gt;constructed = mate_panel_applet_constructed;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> klass-&gt;move_focus_out_of_applet = mate_panel_applet_move_focus_out_of_applet;</td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> klass-&gt;change_background = mate_panel_applet_change_background;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> widget_class-&gt;button_press_event = mate_panel_applet_button_press;</td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> widget_class-&gt;button_release_event = mate_panel_applet_button_release;</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> widget_class-&gt;get_request_mode = mate_panel_applet_get_request_mode;</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> widget_class-&gt;get_preferred_width = mate_panel_applet_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> widget_class-&gt;get_preferred_height = mate_panel_applet_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> widget_class-&gt;draw = mate_panel_applet_draw;</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> widget_class-&gt;size_allocate = mate_panel_applet_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> widget_class-&gt;focus = mate_panel_applet_focus;</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> widget_class-&gt;realize = mate_panel_applet_realize;</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> widget_class-&gt;key_press_event = mate_panel_applet_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> gobject_class-&gt;finalize = mate_panel_applet_finalize;</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> g_param_spec_string (<span class='string_literal'>"id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> <span class='string_literal'>"Id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> <span class='string_literal'>"The Applet identifier"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> <span class='string_literal'>"GClosure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> <span class='string_literal'>"The Applet closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> g_param_spec_object (<span class='string_literal'>"connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> <span class='string_literal'>"Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='string_literal'>"The DBus Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='macro'>G_TYPE_DBUS_CONNECTION<span class='macro_popup'>(g_dbus_connection_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> g_param_spec_string (<span class='string_literal'>"prefs-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='string_literal'>"PrefsPath"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> <span class='string_literal'>"GSettings Preferences Path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> <span class='string_literal'>"Orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"> <span class='string_literal'>"Panel Applet Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_FIRST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_UP</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_LAST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_RIGHT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> MATE_PANEL_APPLET_ORIENT_UP,</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='string_literal'>"Panel Applet Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> 0, <span class='macro'>G_MAXUINT<span class='macro_popup'>(2147483647 *2U +1U)</span></span>, 0,</td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> g_param_spec_string (<span class='string_literal'>"background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> <span class='string_literal'>"Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> <span class='string_literal'>"Panel Applet Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='string_literal'>"Panel Applet flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_FLAGS_ALL<span class='macro_popup'>(MATE_PANEL_APPLET_EXPAND_MAJOR|MATE_PANEL_APPLET_EXPAND_MINOR<br>|MATE_PANEL_APPLET_HAS_HANDLE)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> <span class='comment'>/* FIXME: value_array? */</span></td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"size-hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> <span class='string_literal'>"Panel Applet Size Hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='string_literal'>"Locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> PROP_LOCKED_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked-down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> <span class='string_literal'>"LockedDown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT] =</td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> g_signal_new (<span class='string_literal'>"change-orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_orient)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_orient<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__UINT<span class='macro_popup'>g_cclosure_marshal_VOID__UINT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE] =</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_signal_new (<span class='string_literal'>"change-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_size)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_size<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__INT<span class='macro_popup'>g_cclosure_marshal_VOID__INT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line"> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND] =</td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line"> g_signal_new (<span class='string_literal'>"change-background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_background)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_background<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> mate_panel_applet_marshal_VOID__ENUM_BOXED_OBJECT,</td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> 3,</td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='macro'>PANEL_TYPE_MATE_PANEL_APPLET_BACKGROUND_TYPE<span class='macro_popup'>mate_panel_applet_background_type_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> <span class='macro'>GDK_TYPE_RGBA<span class='macro_popup'>(gdk_rgba_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='macro'>CAIRO_GOBJECT_TYPE_PATTERN<span class='macro_popup'>cairo_gobject_pattern_get_type ()</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> mate_panel_applet_signals [MOVE_FOCUS_OUT_OF_APPLET] =</td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> g_signal_new (<span class='string_literal'>"move_focus_out_of_applet"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, move_focus_out_of_applet)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, move_focus_out_of_applet<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__ENUM<span class='macro_popup'>g_cclosure_marshal_VOID__ENUM</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> binding_set = gtk_binding_set_by_class (gobject_class);</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> add_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line">GtkWidget* mate_panel_applet_new(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> MatePanelApplet* applet = g_object_new(<span class='macro'>PANEL_TYPE_APPLET<span class='macro_popup'>mate_panel_applet_get_type ()</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"><span class='keyword'>static</span> GdkEvent *</td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line">button_press_event_new (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> guint button,</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> guint time)</td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> GdkEvent *event;</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> device = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> event = gdk_event_new (GDK_BUTTON_PRESS);</td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> event-&gt;button.time = time;</td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> event-&gt;button.button = button;</td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> gdk_event_set_device (event, device);</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> <span class='keyword'>return</span> event;</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line">method_call_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> <span class='keyword'>const</span> gchar *method_name,</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> GVariant *parameters,</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> GDBusMethodInvocation *invocation,</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (method_name, <span class='string_literal'>"PopupMenu"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> guint button;</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> guint time;</td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> g_variant_get (parameters, <span class='string_literal'>"(uu)"</span>, &amp;button, &amp;time);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> GdkEvent *event = button_press_event_new (applet, button, time);</td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> mate_panel_applet_menu_popup (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> gdk_event_free (event);</td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> g_dbus_method_invocation_return_value (invocation, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line">get_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> GVariant *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (user_data));</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> retval = g_variant_new_string (priv-&gt;prefs_path ? priv-&gt;prefs_path : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> retval = g_variant_new_string (priv-&gt;background ? priv-&gt;background : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> retval = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line">set_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line"> GVariant *value,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> mate_panel_applet_set_orient (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> mate_panel_applet_set_size (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> mate_panel_applet_set_background_string (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> mate_panel_applet_set_flags (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> size_hints = g_variant_get_fixed_array (value, &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> mate_panel_applet_set_locked (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar introspection_xml[] =</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> <span class='string_literal'>"&lt;node&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='string_literal'>"&lt;interface name='org.mate.panel.applet.Applet'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line"> <span class='string_literal'>"&lt;method name='PopupMenu'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> <span class='string_literal'>"&lt;arg name='button' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"> <span class='string_literal'>"&lt;arg name='time' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line"> <span class='string_literal'>"&lt;/method&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='string_literal'>"&lt;property name='PrefsPath' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='string_literal'>"&lt;property name='Orient' type='u' access='readwrite' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='string_literal'>"&lt;property name='Size' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line"> <span class='string_literal'>"&lt;property name='Background' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='string_literal'>"&lt;property name='Flags' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> <span class='string_literal'>"&lt;property name='SizeHints' type='ai' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> <span class='string_literal'>"&lt;property name='Locked' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> <span class='string_literal'>"&lt;property name='LockedDown' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='string_literal'>"&lt;signal name='Move' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='string_literal'>"&lt;signal name='RemoveFromPanel' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='string_literal'>"&lt;signal name='Lock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> <span class='string_literal'>"&lt;signal name='Unlock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='string_literal'>"&lt;/interface&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> <span class='string_literal'>"&lt;/node&gt;"</span>;</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GDBusInterfaceVTable interface_vtable = {</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> method_call_cb,</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> get_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> set_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> { 0 }</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"><span class='keyword'>static</span> GDBusNodeInfo *introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line">mate_panel_applet_register_object (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>static</span> gint id = 0;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> <span class='keyword'>if</span> (!introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> priv-&gt;object_path = g_strdup_printf (<span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span>, priv-&gt;id, id++);</td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> priv-&gt;object_id =</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> g_dbus_connection_register_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> introspection_data-&gt;interfaces[0],</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> &amp;interface_vtable,</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;object_id) {</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to register object %s: %s\n"</span>, priv-&gt;object_path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_factory_main_finalized(gpointer data, GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> gtk_main_quit();</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> <span class='keyword'>if</span> (introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> g_dbus_node_info_unref(introspection_data);</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> (*_x_error_func) (Display *, XErrorEvent *);</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line">_x_error_handler (Display *display, XErrorEvent *error)</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (!error-&gt;error_code)</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='comment'>/* If we got a BadDrawable or a BadWindow, we ignore it for now.</span></td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> <span class='comment'>* FIXME: We need to somehow distinguish real errors from</span></td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> <span class='comment'>* X-server-induced errors. Keeping a list of windows for which we</span></td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> <span class='comment'>* will ignore BadDrawables would be a good idea. */</span></td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> <span class='keyword'>if</span> (error-&gt;error_code == <span class='macro'>BadDrawable<span class='macro_popup'>9</span></span> ||</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> error-&gt;error_code == <span class='macro'>BadWindow<span class='macro_popup'>3</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> <span class='keyword'>return</span> _x_error_func (display, error);</td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> <span class='comment'>* To do graphical embedding in the X window system, MATE Panel</span></td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> <span class='comment'>* uses the classic foreign-window-reparenting trick. The</span></td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='comment'>* GtkPlug/GtkSocket widgets are used for this purpose. However,</span></td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line"> <span class='comment'>* serious robustness problems arise if the GtkSocket end of the</span></td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> <span class='comment'>* connection unexpectedly dies. The X server sends out DestroyNotify</span></td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"> <span class='comment'>* events for the descendants of the GtkPlug (i.e., your embedded</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line"> <span class='comment'>* component's windows) in effectively random order. Furthermore, if</span></td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> <span class='comment'>* you happened to be drawing on any of those windows when the</span></td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line"> <span class='comment'>* GtkSocket was destroyed (a common state of affairs), an X error</span></td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> <span class='comment'>* will kill your application.</span></td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> <span class='comment'>* To solve this latter problem, MATE Panel sets up its own X error</span></td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> <span class='comment'>* handler which ignores certain X errors that might have been</span></td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> <span class='comment'>* caused by such a scenario. Other X errors get passed to gdk_x_error</span></td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='comment'>* normally.</span></td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line">_mate_panel_applet_setup_x_error_handler (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>static</span> gboolean error_handler_setup = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> <span class='keyword'>if</span> (error_handler_setup)</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> error_handler_setup = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> _x_error_func = XSetErrorHandler (_x_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line">_mate_panel_applet_factory_main_internal (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> gboolean out_process,</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> MatePanelAppletFactory* factory;</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> GClosure* closure;</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='macro'>g_return_val_if_fail(factory_id != NULL, 1)<span class='macro_popup'>do { if ((factory_id != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "factory_id != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> <span class='macro'>g_return_val_if_fail(callback != NULL, 1)<span class='macro_popup'>do { if ((callback != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "callback != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> <span class='macro'>g_assert(g_type_is_a(applet_type, PANEL_TYPE_APPLET))<span class='macro_popup'>do { if (((applet_type) == (mate_panel_applet_get_type ()) ||<br> (g_type_is_a) ((applet_type), (mate_panel_applet_get_type ()<br>)))) ; else g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 2425, ((const char*) (__func__)), "g_type_is_a(applet_type, PANEL_TYPE_APPLET)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='comment'>/*Use this both in and out of process as the tray applet always uses GtkSocket</span></td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> <span class='comment'>*to handle GtkStatusIcons whether the tray itself is built in or out of process</span></td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> _mate_panel_applet_setup_x_error_handler();</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>if</span> (out_process) {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> g_warning(<span class='string_literal'>"Requested out-of-process applet, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> closure = g_cclosure_new(<span class='macro'>G_CALLBACK(callback)<span class='macro_popup'>((GCallback) (callback))</span></span>, user_data, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> factory = mate_panel_applet_factory_new(factory_id, out_process, applet_type, closure);</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> g_closure_unref(closure);</td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_factory_register_service(factory))</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> <span class='keyword'>if</span> (out_process)</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> g_object_weak_ref(<span class='macro'>G_OBJECT(factory)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((factory)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, mate_panel_applet_factory_main_finalized, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> gtk_main();</td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> g_object_unref (factory);</td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_main:</span></td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> <span class='comment'>* @out_process: boolean, dummy to support applets sending it</span></td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line">mate_panel_applet_factory_main (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> gboolean out_process, <span class='comment'>/*Dummy to support applets w issues with this */</span></td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_setup_in_process: (skip)</span></td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line">mate_panel_applet_factory_setup_in_process (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> <span class='comment'>* mate_panel_applet_set_background_widget:</span></td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> <span class='comment'>* @applet: a #PanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> <span class='comment'>* @widget: a #GtkWidget.</span></td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> <span class='comment'>* Configure #PanelApplet to automatically draw the background of the applet on</span></td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> <span class='comment'>* @widget. It is generally enough to call this function with @applet as</span></td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"> <span class='comment'>* @widget.</span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='comment'>* Deprecated: 3.20: Do not use this API. Since 3.20 this function does nothing.</span></td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line">mate_panel_applet_set_background_widget (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line">guint32</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line">mate_panel_applet_get_xid (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> <span class='comment'>/* out_of_process should only be true on X11, so an extra runtime Wayland check is not needed */</span></td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process == <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (priv-&gt;plug)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> gtk_widget_show (priv-&gt;plug);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> <span class='keyword'>return</span> gtk_plug_get_id (<span class='macro'>GTK_PLUG (priv-&gt;plug)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"><span class='keyword'>const</span> gchar *</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">mate_panel_applet_get_object_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> <span class='keyword'>return</span> priv-&gt;object_path;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"><span class='macro'>G_MODULE_EXPORT<span class='macro_popup'>__attribute__((visibility("default")))</span></span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line">mate_panel_applet_get_applet_widget (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> guint uid)</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> widget = mate_panel_applet_factory_get_applet_widget (factory_id, uid);</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>if</span> (!widget) {</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> mate_panel_applet_setup (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>return</span> widget;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-db7134.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-db7134.html
new file mode 100644
index 00000000..e97ae894
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-db7134.html
@@ -0,0 +1,1031 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-context-menu.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-context-menu.c -->
+
+<!-- FILENAME panel-context-menu.c -->
+
+<!-- FUNCTIONNAME panel_context_menu_create -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT db713465394fea332354a4fcd0dbf49f -->
+
+<!-- BUGLINE 305 -->
+
+<!-- BUGCOLUMN 10 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-context-menu.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 305, column 10</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-context-menu.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-context-menu.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"305": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-context-menu.c: context menu for the panels</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004 Vincent Untz</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Most of the original code come from menu.c</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* Vincent Untz &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include "panel-context-menu.h"</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-error.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-show.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;libpanel-util/panel-gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "panel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "menu.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-config-global.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-properties-dialog.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-addto.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "panel-icon-names.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "panel-reset.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line">panel_context_menu_show_help (GtkWidget *w,</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> panel_show_help (gtk_widget_get_screen (w),</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='string_literal'>"mate-user-guide"</span>, <span class='string_literal'>"gospanel-1"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line">panel_context_menu_show_about_dialog (GtkWidget *menuitem)</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>static</span> GtkWidget *about = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='keyword'>char</span> *authors [] = {</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> <span class='comment'>/* MATE */</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='string_literal'>"Perberos &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='string_literal'>"Stefano Karapetsas &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='string_literal'>"Steve Zesch &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='comment'>/* GNOME */</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='string_literal'>"Alex Larsson &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> <span class='string_literal'>"Anders Carlsson &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='string_literal'>"Arvind Samptur &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='string_literal'>"Darin Adler &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='string_literal'>"Elliot Lee &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='string_literal'>"Federico Mena &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> <span class='string_literal'>"George Lebl &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='string_literal'>"Glynn Foster &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='string_literal'>"Ian Main &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='string_literal'>"Ian McKellar &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='string_literal'>"Jacob Berkman &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> <span class='string_literal'>"Mark McLoughlin &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='string_literal'>"Martin Baulig &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='string_literal'>"Miguel de Icaza &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> <span class='string_literal'>"Owen Taylor &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='string_literal'>"Padraig O'Briain &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='string_literal'>"Seth Nickell &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> <span class='string_literal'>"Stephen Browne &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> <span class='string_literal'>"Tom Tromey &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='string_literal'>"Vincent Untz &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"And many, many others…"</span>)<span class='macro_popup'>("And many, many others…")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> <span class='keyword'>char</span> *documenters[] = {</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='string_literal'>"Alexander Kirillov &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='string_literal'>"Dan Mueth &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='string_literal'>"Dave Mason &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>if</span> (about) {</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (about)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((about)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> menuitem_to_screen (menuitem));</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (about)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((about)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>for</span> (i = 0; authors [i]; i++)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> authors [i] = <span class='macro'>_(authors [i])<span class='macro_popup'>gettext (authors [i])</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> about = gtk_about_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> g_object_set (about,</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='string_literal'>"program-name"</span>, <span class='macro'>_(<span class='string_literal'>"The MATE Panel"</span>)<span class='macro_popup'>gettext ("The MATE Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='string_literal'>"version"</span>, <span class='macro'>VERSION<span class='macro_popup'>"1.29.0"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> <span class='string_literal'>"copyright"</span>, <span class='macro'>_(<span class='string_literal'>"Copyright \xc2\xa9 1997-2003 Free Software Foundation, Inc.\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 1997-2003 Free Software Foundation, Inc.\n"<br> "Copyright \xc2\xa9 2004 Vincent Untz\n" "Copyright \xc2\xa9 2011-2021 MATE developers"<br>)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2004 Vincent Untz\n"<span class='macro_popup'>gettext ("Copyright \xc2\xa9 1997-2003 Free Software Foundation, Inc.\n"<br> "Copyright \xc2\xa9 2004 Vincent Untz\n" "Copyright \xc2\xa9 2011-2021 MATE developers"<br>)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2011-2021 MATE developers"</span>)<span class='macro_popup'>gettext ("Copyright \xc2\xa9 1997-2003 Free Software Foundation, Inc.\n"<br> "Copyright \xc2\xa9 2004 Vincent Untz\n" "Copyright \xc2\xa9 2011-2021 MATE developers"<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='string_literal'>"comments"</span>, <span class='macro'>_(<span class='string_literal'>"This program is responsible for launching other "<span class='macro_popup'>gettext ("This program is responsible for launching other " "applications and provides useful utilities."<br>)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='string_literal'><span class='macro'>"applications and provides useful utilities."</span>)<span class='macro_popup'>gettext ("This program is responsible for launching other " "applications and provides useful utilities."<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='string_literal'>"authors"</span>, authors,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> <span class='string_literal'>"documenters"</span>, documenters,</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='string_literal'>"title"</span>, <span class='macro'>_(<span class='string_literal'>"About the MATE Panel"</span>)<span class='macro_popup'>gettext ("About the MATE Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='string_literal'>"translator-credits"</span>, <span class='macro'>_(<span class='string_literal'>"translator-credits"</span>)<span class='macro_popup'>gettext ("translator-credits")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='string_literal'>"logo-icon-name"</span>, <span class='macro'>PANEL_ICON_PANEL<span class='macro_popup'>"mate-panel"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (about)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((about)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> menuitem_to_screen (menuitem));</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='macro'>g_signal_connect (about, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((about), ("destroy"), (((GCallback) (gtk_widget_destroyed<br>))), (&amp;about), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_destroyed),<span class='macro_popup'>g_signal_connect_data ((about), ("destroy"), (((GCallback) (gtk_widget_destroyed<br>))), (&amp;about), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='macro'>&amp;about)<span class='macro_popup'>g_signal_connect_data ((about), ("destroy"), (((GCallback) (gtk_widget_destroyed<br>))), (&amp;about), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='macro'>g_signal_connect (about, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((about), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_destroy),<span class='macro_popup'>g_signal_connect_data ((about), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((about), ("response"), (((GCallback) (<br>gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> gtk_widget_show (about);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line">panel_context_menu_create_new_panel (GtkWidget *menuitem)</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> panel_profile_create_toplevel (gtk_widget_get_screen (menuitem));</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line">panel_context_menu_delete_panel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_is_last_unattached (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> panel_error_dialog (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> <span class='string_literal'>"cannot_delete_last_panel"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Cannot delete this panel"</span>)<span class='macro_popup'>gettext ("Cannot delete this panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"You must always have at least one panel."</span>)<span class='macro_popup'>gettext ("You must always have at least one panel.")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> panel_delete (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line">panel_context_menu_setup_delete_panel_item (GtkWidget *menu,</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> GtkWidget *menuitem)</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> gboolean sensitive;</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> panel_widget = menu_get_panel (menu);</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> <span class='macro'>g_assert (PANEL_IS_TOPLEVEL (panel_widget-&gt;toplevel))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((panel_widget-&gt;toplevel)); GType __t = ((panel_toplevel_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))) ; else g_assertion_message_expr (((gchar*) 0), "panel-context-menu.c"<br>, 172, ((const char*) (__func__)), "PANEL_IS_TOPLEVEL (panel_widget-&gt;toplevel)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> sensitive =</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> !panel_toplevel_is_last_unattached (panel_widget-&gt;toplevel) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> !panel_lockdown_get_locked_down () &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> panel_profile_id_lists_are_writable ();</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> gtk_widget_set_sensitive (menuitem, sensitive);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line">panel_reset_response (GtkWidget *dialog,</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>int</span> response)</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>if</span> (response == GTK_RESPONSE_OK) {</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> panel_reset ();</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> gtk_widget_destroy (dialog);</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">query_panel_reset (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> GtkWidget *dialog;</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> <span class='keyword'>char</span> *text1;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='keyword'>char</span> *text2;</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> text1 = <span class='macro'>_(<span class='string_literal'>"Reset all panels?"</span>)<span class='macro_popup'>gettext ("Reset all panels?")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> text2 = <span class='macro'>_(<span class='string_literal'>"When the panels are reset, all \n"<span class='macro_popup'>gettext ("When the panels are reset, all \n" "custom settings are lost."<br>)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='string_literal'><span class='macro'>"custom settings are lost."</span>)<span class='macro_popup'>gettext ("When the panels are reset, all \n" "custom settings are lost."<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> dialog = gtk_message_dialog_new (</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> GTK_DIALOG_MODAL,</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> GTK_MESSAGE_WARNING,</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> GTK_BUTTONS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='string_literal'>"%s"</span>, text1);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> gtk_message_dialog_format_secondary_text (<span class='macro'>GTK_MESSAGE_DIALOG (dialog)<span class='macro_popup'>((((GtkMessageDialog*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((dialog)), ((gtk_message_dialog_get_type ())<br>)))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='string_literal'>"%s"</span>, text2);</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_dialog_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"_Cancel"</span>)<span class='macro_popup'>gettext ("_Cancel")</span></span>, GTK_RESPONSE_CANCEL,</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"_Reset Panels"</span>)<span class='macro_popup'>gettext ("_Reset Panels")</span></span>, GTK_RESPONSE_OK,</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> gtk_dialog_set_default_response (<span class='macro'>GTK_DIALOG (dialog)<span class='macro_popup'>((((GtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_dialog_get_type ()))))))</span></span>, GTK_RESPONSE_CANCEL);</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> gtk_window_set_position (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((dialog)), ((gtk_window_get_type ()))))))</span></span>, GTK_WIN_POS_CENTER);</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> <span class='macro'>g_signal_connect (dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>panel_reset_response))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='macro'>G_CALLBACK (panel_reset_response),<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>panel_reset_response))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((dialog), ("response"), (((GCallback) (<br>panel_reset_response))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> gtk_widget_show_all (dialog);</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line">panel_context_menu_build_edition (PanelWidget *panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> GtkWidget *menu)</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> GtkWidget *menuitem;</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> gtk_menu_set_reserve_toggle_size (<span class='macro'>GTK_MENU (menu)<span class='macro_popup'>((((GtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> menuitem = panel_image_menu_item_new_from_icon (<span class='string_literal'>"list-add"</span>, <span class='macro'>_(<span class='string_literal'>"_Add to Panel…"</span>)<span class='macro_popup'>gettext ("_Add to Panel…")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> gtk_widget_show (menuitem);</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> gtk_menu_shell_append (<span class='macro'>GTK_MENU_SHELL (menu)<span class='macro_popup'>((((GtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_shell_get_type ()))))))</span></span>, menuitem);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='macro'>g_signal_connect (menuitem, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_addto_present))), (panel_widget), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> <span class='macro'>G_CALLBACK (panel_addto_present),<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_addto_present))), (panel_widget), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> <span class='macro'>panel_widget)<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_addto_present))), (panel_widget), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> <span class='keyword'>if</span> (!panel_profile_id_lists_are_writable ())</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> gtk_widget_set_sensitive (menuitem, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> menuitem = panel_image_menu_item_new_from_icon (<span class='string_literal'>"document-properties"</span>, <span class='macro'>_(<span class='string_literal'>"_Properties"</span>)<span class='macro_popup'>gettext ("_Properties")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> gtk_widget_show (menuitem);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> gtk_menu_shell_append (<span class='macro'>GTK_MENU_SHELL (menu)<span class='macro_popup'>((((GtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_shell_get_type ()))))))</span></span>, menuitem);</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='macro'>g_signal_connect_swapped (menuitem, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_properties_dialog_present))), (panel_widget-&gt;toplevel<br>), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='macro'>G_CALLBACK (panel_properties_dialog_present),<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_properties_dialog_present))), (panel_widget-&gt;toplevel<br>), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='macro'>panel_widget-&gt;toplevel)<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_properties_dialog_present))), (panel_widget-&gt;toplevel<br>), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> add_menu_separator (menu);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> menuitem = panel_image_menu_item_new_from_icon (<span class='string_literal'>"document-revert"</span>, <span class='macro'>_(<span class='string_literal'>"_Reset All Panels"</span>)<span class='macro_popup'>gettext ("_Reset All Panels")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> gtk_widget_show (menuitem);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> gtk_menu_shell_append (<span class='macro'>GTK_MENU_SHELL (menu)<span class='macro_popup'>((((GtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_shell_get_type ()))))))</span></span>, menuitem);</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> <span class='macro'>g_signal_connect_swapped (menuitem, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (query_panel_reset))), (panel_widget-&gt;toplevel), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='macro'>G_CALLBACK (query_panel_reset), panel_widget-&gt;toplevel)<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (query_panel_reset))), (panel_widget-&gt;toplevel), ((void*<br>)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> menuitem = panel_image_menu_item_new_from_icon (<span class='string_literal'>"edit-delete"</span>, <span class='macro'>_(<span class='string_literal'>"_Delete This Panel"</span>)<span class='macro_popup'>gettext ("_Delete This Panel")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> gtk_widget_show (menuitem);</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> gtk_menu_shell_append (<span class='macro'>GTK_MENU_SHELL (menu)<span class='macro_popup'>((((GtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_shell_get_type ()))))))</span></span>, menuitem);</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='macro'>g_signal_connect_swapped (menuitem, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_delete_panel))), (panel_widget-&gt;toplevel<br>), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> <span class='macro'>G_CALLBACK (panel_context_menu_delete_panel),<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_delete_panel))), (panel_widget-&gt;toplevel<br>), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='macro'>panel_widget-&gt;toplevel)<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_delete_panel))), (panel_widget-&gt;toplevel<br>), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='macro'>g_signal_connect (menu, <span class='string_literal'>"show"</span>,<span class='macro_popup'>g_signal_connect_data ((menu), ("show"), (((GCallback) (panel_context_menu_setup_delete_panel_item<br>))), (menuitem), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='macro'>G_CALLBACK (panel_context_menu_setup_delete_panel_item),<span class='macro_popup'>g_signal_connect_data ((menu), ("show"), (((GCallback) (panel_context_menu_setup_delete_panel_item<br>))), (menuitem), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='macro'>menuitem)<span class='macro_popup'>g_signal_connect_data ((menu), ("show"), (((GCallback) (panel_context_menu_setup_delete_panel_item<br>))), (menuitem), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> add_menu_separator (menu);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> menuitem = panel_image_menu_item_new_from_icon (<span class='string_literal'>"document-new"</span>, <span class='macro'>_(<span class='string_literal'>"_New Panel"</span>)<span class='macro_popup'>gettext ("_New Panel")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> gtk_widget_show (menuitem);</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> gtk_menu_shell_append (<span class='macro'>GTK_MENU_SHELL (menu)<span class='macro_popup'>((((GtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_shell_get_type ()))))))</span></span>, menuitem);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='macro'>g_signal_connect (menuitem, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_create_new_panel))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> <span class='macro'>G_CALLBACK (panel_context_menu_create_new_panel),<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_create_new_panel))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_create_new_panel))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> gtk_widget_set_sensitive (menuitem,</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> panel_profile_id_lists_are_writable ());</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> add_menu_separator (menu);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line">GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line">panel_context_menu_create (PanelWidget *panel)</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> GtkWidget *retval;</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> GtkWidget *menuitem;</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='keyword'>if</span> (panel-&gt;master_widget) {</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> gpointer *pointer;</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> pointer = g_object_get_data (<span class='macro'>G_OBJECT (panel-&gt;master_widget)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel-&gt;master_widget)), (((GType) ((20) &lt;&lt; (2))<br>))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='string_literal'>"applet_info"</span>);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='macro'>g_assert (pointer != NULL)<span class='macro_popup'>do { if (pointer != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-context-menu.c", 304, ((const char*) (<br>__func__)), "pointer != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> info = <span class="mrange"><span class="mrange">(AppletInfo *) pointer</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:24ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> <span class='keyword'>if</span> (info-&gt;menu == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> info-&gt;menu = mate_panel_applet_create_menu (info);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='keyword'>return</span> info-&gt;menu;</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> retval = create_empty_menu ();</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> gtk_widget_set_name (retval, <span class='string_literal'>"mate-panel-context-menu"</span>);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (!panel_lockdown_get_locked_down ())</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> panel_context_menu_build_edition (panel, retval);</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> menuitem = panel_image_menu_item_new_from_icon (<span class='string_literal'>"help-browser"</span>, <span class='macro'>_(<span class='string_literal'>"_Help"</span>)<span class='macro_popup'>gettext ("_Help")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> gtk_widget_show (menuitem);</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> gtk_menu_shell_append (<span class='macro'>GTK_MENU_SHELL (retval)<span class='macro_popup'>((((GtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((retval)), ((gtk_menu_shell_get_type ()))))))</span></span>, menuitem);</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> <span class='macro'>g_signal_connect (menuitem, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_show_help))), (((void*)0)), ((void*)0),<br> (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='macro'>G_CALLBACK (panel_context_menu_show_help), NULL)<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_show_help))), (((void*)0)), ((void*)0),<br> (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> menuitem = panel_image_menu_item_new_from_icon (<span class='string_literal'>"help-about"</span>, <span class='macro'>_(<span class='string_literal'>"A_bout Panels"</span>)<span class='macro_popup'>gettext ("A_bout Panels")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> gtk_widget_show (menuitem);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> gtk_menu_shell_append (<span class='macro'>GTK_MENU_SHELL (retval)<span class='macro_popup'>((((GtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((retval)), ((gtk_menu_shell_get_type ()))))))</span></span>, menuitem);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> <span class='macro'>g_signal_connect (menuitem, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_show_about_dialog))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='macro'>G_CALLBACK (panel_context_menu_show_about_dialog),<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_show_about_dialog))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='macro'>NULL)<span class='macro_popup'>g_signal_connect_data ((menuitem), ("activate"), (((GCallback<br>) (panel_context_menu_show_about_dialog))), (((void*)0)), ((void<br>*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> <span class='comment'>/* FIXME: can we get rid of this? (needed by menu_get_panel()) */</span></td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (retval)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((retval)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"menu_panel"</span>, panel);</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"><span class='comment'>/* Set up theme and transparency support */</span></td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> GtkWidget *toplevel = gtk_widget_get_toplevel (retval);</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"><span class='comment'>/* Fix any failures of compiz/other wm's to communicate with gtk for transparency */</span></td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"><span class='comment'>/* Set menu and it's toplevel window to follow panel theme */</span></td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-dcd45f.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-dcd45f.html
new file mode 100644
index 00000000..f5aa3787
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-dcd45f.html
@@ -0,0 +1,6243 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-toplevel.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Value stored to 'x' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-toplevel.c -->
+
+<!-- FILENAME panel-toplevel.c -->
+
+<!-- FUNCTIONNAME panel_toplevel_update_expanded_position -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT dcd45f4707f50a54611bc14e944370dc -->
+
+<!-- BUGLINE 2062 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-toplevel.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 2062, column 2</a><br />Value stored to 'x' is never read</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-toplevel.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-toplevel.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"2062": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* panel-toplevel.c: The panel's toplevel window object.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2004 Rob Adams</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-frame.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-a11y.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-typebuiltins.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "panel-bindings.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "panel-config-global.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#include "xstuff.h"</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#include "panel-xutils.h"</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='directive'>#include "panel-struts.h"</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='directive'>#include "wayland-backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span> 48</span></td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> 1</span></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span> 300</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> 8</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#define <span class='macro'>MINIMUM_WIDTH<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"><span class='directive'>#define <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#define <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span> 6</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span> 20</span></td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"><span class='directive'>#define <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span> 10</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> PANEL_GRAB_OP_NONE,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> PANEL_GRAB_OP_MOVE,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> PANEL_GRAB_OP_RESIZE,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> PANEL_GRAB_OP_RESIZE_UP,</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> PANEL_GRAB_OP_RESIZE_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> PANEL_GRAB_OP_RESIZE_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> PANEL_GRAB_OP_RESIZE_RIGHT</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} PanelGrabOpType;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>struct</span> _PanelToplevelPrivate {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> gchar *settings_path;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> gboolean expand;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>int</span> x;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>int</span> y;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='comment'>/* relative to the bottom right corner, -1 to ignore and use x, y*/</span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='comment'>/* this is used when the configured monitor is missing. We keep it so</span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> <span class='comment'>* we can move the toplevel to the right monitor when it becomes</span></td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='comment'>* available */</span></td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='keyword'>int</span> configured_monitor;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>int</span> hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>int</span> unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> PanelAnimationSpeed animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> GtkSettings *gtk_settings;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> PanelState state;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> guint hide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> guint unhide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>int</span> original_width;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>int</span> original_height;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='comment'>/* The offset within the panel from which the panel</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='comment'>* drag was initiated relative to the screen origin.</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>int</span> drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>int</span> drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='comment'>/* Saved state before for cancelled grab op */</span></td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>int</span> orig_monitor;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> orig_x;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>int</span> orig_y;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>int</span> orig_x_right;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>int</span> orig_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>int</span> orig_size;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>int</span> orig_orientation;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>int</span> animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>int</span> animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>int</span> animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>int</span> animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> gint64 animation_start_time; <span class='comment'>/* monotonic start time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> GTimeSpan animation_duration_time; <span class='comment'>/* monotonic duration time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> guint animation_timeout;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> PanelFrame *inner_frame;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> GtkWidget *grid;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GtkWidget *hide_button_top;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> GtkWidget *hide_button_bottom;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> GtkWidget *hide_button_left;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> GtkWidget *hide_button_right;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> PanelToplevel *attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> gulong attach_toplevel_signals [<span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> GtkWidget *attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> gulong attach_widget_signals [<span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> gint n_autohide_disablers;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> guint auto_hide : 1;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> guint animate : 1;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> guint buttons_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> guint arrows_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* The co-ordinates are relative to center screen */</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> guint x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> guint y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> <span class='comment'>/* The panel is not lined up with th screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> guint floating : 1;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='comment'>/* We are currently animating a hide/show */</span></td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> guint animating : 1;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='comment'>/* This is a keyboard initiated grab operation */</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> guint grab_is_keyboard : 1;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='comment'>/* The x-y co-ordinates temporarily specify the panel center.</span></td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='comment'>* This is used when the panel is rotating, because the width/height</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='comment'>* of the toplevel might change, so we need to compute new values for</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='comment'>* those. */</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> guint position_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='comment'>/* The toplevel is "attached" to another widget */</span></td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> guint attached : 1;</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='comment'>/* Hidden temporarily because the attach_toplevel was hidden */</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> guint attach_hidden : 1;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='comment'>/* More saved grab op state */</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> guint orig_x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> guint orig_y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='comment'>/* flag to see if we have already done geometry updating,</span></td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='comment'>if not then we're still loading and can ignore many things */</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> guint updated_geometry_initial : 1;</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='comment'>/* flag to see if we have done the initial animation */</span></td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> guint initial_animation_done : 1;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> HIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> UNHIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> POPUP_PANEL_MENU_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> TOGGLE_EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> UNEXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> TOGGLE_HIDDEN_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> BEGIN_MOVE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> BEGIN_RESIZE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> PROP_ARROWS_ENABLED</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (PanelToplevel, panel_toplevel, GTK_TYPE_WINDOW)<span class='macro_popup'>static void panel_toplevel_init (PanelToplevel *self); static<br> void panel_toplevel_class_init (PanelToplevelClass *klass); static<br> GType panel_toplevel_get_type_once (void); static gpointer panel_toplevel_parent_class<br> = ((void*)0); static gint PanelToplevel_private_offset; static<br> void panel_toplevel_class_intern_init (gpointer klass) { panel_toplevel_parent_class<br> = g_type_class_peek_parent (klass); if (PanelToplevel_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;PanelToplevel_private_offset<br>); panel_toplevel_class_init ((PanelToplevelClass*) klass); }<br> __attribute__ ((__unused__)) static inline gpointer panel_toplevel_get_instance_private<br> (PanelToplevel *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (PanelToplevel_private_offset)))); } GType panel_toplevel_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = panel_toplevel_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType panel_toplevel_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_window_get_type ()), g_intern_static_string ("PanelToplevel"<br>), sizeof (PanelToplevelClass), (GClassInitFunc)(void (*)(void<br>)) panel_toplevel_class_intern_init, sizeof (PanelToplevel), (<br>GInstanceInitFunc)(void (*)(void)) panel_toplevel_init, (GTypeFlags<br>) 0); { {{ PanelToplevel_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (PanelToplevelPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='keyword'>static</span> guint toplevel_signals[LAST_SIGNAL] = {0};</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"><span class='keyword'>static</span> GSList* toplevel_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calculate_animation_end_geometry(PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_monitor(PanelToplevel* toplevel);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_set_monitor_internal(PanelToplevel* toplevel, <span class='keyword'>int</span> monitor, gboolean force_resize);</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line">update_style_classes (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='comment'>/*ensure the panel BG can always be themed*/</span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='comment'>/*Without this gtk3.19/20 cannot set the BG color and resetting the bg to system is not immediately applied*/</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 302, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">GSList* panel_toplevel_list_toplevels(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>return</span> toplevel_list;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"><span class='comment'>/* Is this the last un-attached toplevel? */</span></td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">gboolean panel_toplevel_is_last_unattached(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> GSList* l;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached(toplevel))</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='keyword'>for</span> (l = toplevel_list; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> PanelToplevel* t = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>if</span> (t != toplevel &amp;&amp; !panel_toplevel_get_is_attached(t))</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_get_monitor_geometry(PanelToplevel* toplevel, GdkRectangle *geom)</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='macro'>g_return_if_fail(PANEL_IS_TOPLEVEL(toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> <span class='macro'>g_return_if_fail(geom)<span class='macro_popup'>do { if ((geom)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "geom"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> geom-&gt;x = panel_multimonitor_x(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> geom-&gt;y = panel_multimonitor_y(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> geom-&gt;width = panel_multimonitor_width(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> geom-&gt;height = panel_multimonitor_height(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='keyword'>static</span> GdkCursorType panel_toplevel_grab_op_cursor(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> GdkCursorType retval = -1;</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> retval = GDK_CROSS;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> retval = GDK_FLEUR;</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> retval = GDK_TOP_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> retval = GDK_BOTTOM_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> retval = GDK_LEFT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> retval = GDK_RIGHT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 371, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_init_resize_drag_offsets(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='macro'>g_assert (GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel))))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 381<br>, ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y =</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x =</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 402, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_warp_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget)))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> x = y = 0;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> y = geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> x = geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 441, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_MOVE ||</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_RESIZE) {</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = x;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = y;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> panel_toplevel_init_resize_drag_offsets (toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> panel_warp_pointer (gtk_widget_get_window (widget), x, y);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_attached_move(PanelToplevel* toplevel, gboolean is_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> PanelWidget *attached_panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> attached_panel_widget = panel_toplevel_get_panel_widget (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> panel_widget_applet_drag_start (attached_panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> is_keyboard ? <span class='macro'>PW_DRAG_OFF_CENTER<span class='macro_popup'>-2</span></span> : <span class='macro'>PW_DRAG_OFF_CURSOR<span class='macro_popup'>-1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> time_);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_grab_op(PanelToplevel* toplevel, PanelGrabOpType op_type, gboolean grab_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> GdkCursorType cursor_type;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> GdkCursor *cursor;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> GdkSeatCapabilities capabilities;</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down ())</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='comment'>/* If any of the position/orientation are not writable,</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>then we can't really move freely */</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='keyword'>if</span> (op_type == PANEL_GRAB_OP_MOVE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> ! panel_profile_can_be_moved_freely (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>/* If size is not writable, then we can't resize */</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>if</span> ((op_type == PANEL_GRAB_OP_RESIZE ||</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_UP ||</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_RIGHT) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> ! panel_profile_key_is_writable (toplevel, <span class='macro'>PANEL_TOPLEVEL_SIZE_KEY<span class='macro_popup'>"size"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; op_type == PANEL_GRAB_OP_MOVE) {</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> panel_toplevel_begin_attached_move (toplevel, grab_keyboard, time_);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = op_type;</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = (grab_keyboard != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> toplevel-&gt;priv-&gt;orig_monitor = toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> toplevel-&gt;priv-&gt;orig_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> toplevel-&gt;priv-&gt;orig_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> toplevel-&gt;priv-&gt;orig_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> toplevel-&gt;priv-&gt;orig_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> gtk_grab_add (widget);</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard) {</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> panel_toplevel_warp_pointer (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> cursor_type = panel_toplevel_grab_op_cursor (</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> cursor = gdk_cursor_new_for_display (gdk_display_get_default (),</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> cursor_type);</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> capabilities = GDK_SEAT_CAPABILITY_POINTER;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='keyword'>if</span> (grab_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> capabilities |= GDK_SEAT_CAPABILITY_KEYBOARD;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> gdk_seat_grab (seat, window, capabilities, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, cursor,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> g_object_unref (cursor);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_end_grab_op (PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> gtk_grab_remove (widget);</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> display = gtk_widget_get_display (widget);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_cancel_grab_op(PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> panel_toplevel_set_orientation (toplevel, toplevel-&gt;priv-&gt;orig_orientation);</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> panel_toplevel_set_monitor (toplevel, toplevel-&gt;priv-&gt;orig_monitor);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> panel_toplevel_set_size (toplevel, toplevel-&gt;priv-&gt;orig_size);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> toplevel-&gt;priv-&gt;orig_x,</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right,</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> toplevel-&gt;priv-&gt;orig_y,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_resize_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> x, <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>int</span> new_x_right, new_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>int</span> new_x_centered, new_y_centered;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> new_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> new_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> new_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> new_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> new_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> new_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> new_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_y - y;</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> new_y -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> new_size = y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_x - x;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> new_x -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> new_size = x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 637, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>if</span> (new_size == 0)</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> panel_toplevel_set_x (toplevel, new_x, new_x_right, new_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> panel_toplevel_set_y (toplevel, new_y, new_y_bottom, new_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> panel_toplevel_set_size (toplevel, new_size);</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"><span class='comment'>/* this is called for expanded panels that are dragged around */</span></td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_new_orientation(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>int</span> hborder, vborder;</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='keyword'>int</span> monitor_width, monitor_height;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (pointer_x, pointer_y);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.height &lt; toplevel-&gt;priv-&gt;geometry.width)</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.height) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.width) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> new_x = pointer_x - panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> new_y = pointer_y - panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> monitor_width = panel_multimonitor_width (monitor);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> monitor_height = panel_multimonitor_height (monitor);</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &gt; hborder) {</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; (monitor_height - hborder)) {</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &gt; vborder) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; (monitor_width - vborder)) {</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 718, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> panel_toplevel_set_monitor (toplevel, monitor);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to(PanelToplevel* toplevel, <span class='keyword'>int</span> new_x, <span class='keyword'>int</span> new_y)</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> gboolean x_centered, y_centered;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> GdkPoint display_min, display_max;</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='keyword'>int</span> new_monitor;</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='keyword'>int</span> x, y, x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> panel_multimonitor_get_bounds (&amp;display_min, &amp;display_max);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> new_x = <span class='macro'>CLAMP (new_x, 0, display_max.x - width)<span class='macro_popup'>(((new_x) &gt; (display_max.x - width)) ? (display_max.x - width<br>) : (((new_x) &lt; (0)) ? (0) : (new_x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> new_y = <span class='macro'>CLAMP (new_y, 0, display_max.y - height)<span class='macro_popup'>(((new_y) &gt; (display_max.y - height)) ? (display_max.y - height<br>) : (((new_y) &lt; (0)) ? (0) : (new_y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= (display_min.x + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_x + width) &gt;= (display_max.x - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= (display_min.y + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_y + height) &gt;= (display_max.y - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> new_monitor = panel_multimonitor_get_monitor_at_point (new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> x = new_x - panel_multimonitor_x (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> y = new_y - panel_multimonitor_y (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= display_min.y + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> new_y + height &gt;= display_max.y - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> x_centered = abs (x - ((monitor_geom.width - width) / 2))</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= display_min.x + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> new_x + width &gt;= display_max.x - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> y_centered = abs (y - ((monitor_geom.height - height) / 2))</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>if</span> (x_centered)</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> x = (monitor_geom.width - width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='keyword'>if</span> (y_centered)</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> y = (monitor_geom.height - height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>if</span> (!x_centered &amp;&amp; (x + width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> x_right = monitor_geom.width - (x + width);</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='keyword'>if</span> (!y_centered &amp;&amp; (y + height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> y_bottom = monitor_geom.height - (y + height);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> panel_toplevel_set_monitor (toplevel, new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> panel_toplevel_set_x (toplevel, x, x_right, x_centered);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> panel_toplevel_set_y (toplevel, y, y_bottom, y_centered);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> new_x = pointer_x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> new_y = pointer_y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> panel_toplevel_move_to (toplevel, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_rotate_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> <span class='keyword'>int</span> x_diff, y_diff;</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> x_diff = pointer_x - (x + toplevel-&gt;priv-&gt;geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> y_diff = pointer_y - (y + toplevel-&gt;priv-&gt;geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>if</span> (((-y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> (( y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_RIGHT);</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> (( x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_BOTTOM);</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((( y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> ((-y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_LEFT);</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> (( x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_TOP);</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_warp_pointer_increment(PanelToplevel* toplevel, <span class='keyword'>int</span> keyval, <span class='keyword'>int</span> increment)</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> GdkWindow *root_window;</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_X11_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_x11_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_X11_SCREEN (screen)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> root_window = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> device = gdk_seat_get_pointer (gdk_display_get_default_seat (gtk_widget_get_display (<span class='macro'>GTK_WIDGET(root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>)));</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> gdk_window_get_device_position (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>), device, &amp;new_x, &amp;new_y, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> <span class='keyword'>switch</span> (keyval) {</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> new_y -= increment;</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> new_x -= increment;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> new_y += increment;</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> new_x += increment;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 884, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> panel_warp_pointer (root_window, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_floating(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"><span class='directive'>#define SMALL_INCREMENT 1</span></td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"><span class='directive'>#define NORMAL_INCREMENT 10</span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='keyword'>int</span> increment = NORMAL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_SHIFT_MASK)</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> increment = SMALL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_warp_pointer_increment (</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> toplevel, event-&gt;keyval, increment);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"><span class='directive'>#undef SMALL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"><span class='directive'>#undef NORMAL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_expanded(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 934, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_initial_resize_keypress(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_UP;</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 973, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, grab_op, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_key_event(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> retval = panel_toplevel_move_keyboard_expanded (</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> retval = panel_toplevel_move_keyboard_floating (</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> retval = panel_toplevel_initial_resize_keypress (toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> retval = panel_toplevel_warp_pointer_increment (toplevel, event-&gt;keyval, 1);</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1022, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Escape<span class='macro_popup'>0xff1b</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> panel_toplevel_cancel_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Return<span class='macro_popup'>0xff0d</span></span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Enter<span class='macro_popup'>0xff8d</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_space<span class='macro_popup'>0x020</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Space<span class='macro_popup'>0xff80</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='keyword'>default</span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_motion_event(PanelToplevel* toplevel, GdkEventMotion* event)</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> panel_toplevel_calc_new_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_CONTROL_MASK)</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> panel_toplevel_rotate_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> panel_toplevel_move_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> panel_toplevel_resize_to_pointer (toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_floating(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> GdkPoint position_on_monitor;</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> toplevel-&gt;priv-&gt;floating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> position_on_monitor.x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> position_on_monitor.x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> position_on_monitor.y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> position_on_monitor.y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> (position_on_monitor.y &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> (position_on_monitor.y &lt; (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> (position_on_monitor.x &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> (position_on_monitor.x &lt; (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"><span class='keyword'>void</span> panel_toplevel_push_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;n_autohide_disablers++)</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='keyword'>void</span> panel_toplevel_pop_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0))<br> { } else { g_return_if_fail_warning (((gchar*) 0), ((const char<br>*) (__func__)), "toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>if</span> (!--toplevel-&gt;priv-&gt;n_autohide_disablers)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_get_autohide_disabled(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0 ? <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span> : <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_hide_button_event(PanelToplevel* toplevel, GdkEventButton* event, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 1)</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='keyword'>return</span> gtk_widget_event (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_hide_button_clicked(PanelToplevel* toplevel, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> gboolean ltr;</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating ||</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> ltr = gtk_widget_get_direction (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>) == GTK_TEXT_DIR_LTR;</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL) {</td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> GtkDirectionType direction;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> direction = GTK_DIR_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> direction = ltr ? GTK_DIR_LEFT : GTK_DIR_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> direction = ltr ? GTK_DIR_RIGHT : GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1163, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, (gint) direction);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line">set_arrow_type (GtkImage *image,</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> GtkArrowType arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>switch</span> (arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_NONE:</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-down-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-up-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-start-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-end-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"><span class='keyword'>static</span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line">panel_toplevel_add_hide_button (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> GtkArrowType arrow_type,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> <span class='keyword'>int</span> left,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='keyword'>int</span> top)</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkWidget *button;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> AtkObject *obj;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> button = gtk_button_new ();</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> obj = gtk_widget_get_accessible (button);</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> atk_object_set_name (obj, <span class='macro'>_(<span class='string_literal'>"Hide Panel"</span>)<span class='macro_popup'>gettext ("Hide Panel")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> gtk_widget_set_can_default (button, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> arrow = gtk_image_new ();</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (button)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_container_get_type ()))))))</span></span>, arrow);</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> gtk_widget_show (arrow);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='string_literal'>"arrow-type"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_clicked), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-press-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-release-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, button, left, top, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='keyword'>return</span> button;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_buttons_showing(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='keyword'>switch</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1260, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"><span class='comment'>/* force set hide button size on panel size &lt; 30px */</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons_size (GtkWidget *button, <span class='keyword'>int</span> panel_size)</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> GtkCssProvider *css_provider;</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> GtkSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gchar *gtk_theme_name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> context = gtk_widget_get_style_context (button);</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"panel-button"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='comment'>/* get defaults from theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> settings = gtk_settings_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> g_object_get (settings, <span class='string_literal'>"gtk-theme-name"</span>, &amp;gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> css_provider = gtk_css_provider_get_named (gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> g_free (gtk_theme_name);</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> <span class='comment'>/* set custom css by adding our custom code to the default theme css</span></td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='comment'>* NOTE that contriary to the documentation:</span></td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='comment'>* https://developer.gnome.org/gtk3/stable/GtkCssProvider.html#gtk-css-provider-load-from-data</span></td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> <span class='comment'>* the previously loaded theme is NOT cleared from the css_provider. (reason unknown)</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='comment'>* In other words, this works exactly, how we need it here.</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='comment'>* ALSO NOTE that using gtk_css_provider_to_string () to convert the theme css data into a string</span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='comment'>* and then adding the custom css, then adding this updated css to a css_provider</span></td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='comment'>* with the gtk_css_provider_load_from_data () also works,</span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='comment'>* however some themes can't be easily converted to strings, beacuse of the binary data</span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='comment'>* they contain. This causes a delay of minutes in loading the mate-panel,</span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='comment'>* and so this approach is not viable. */</span></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 30) {</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> gtk_css_provider_load_from_data (css_provider, <span class='string_literal'>".panel-button {min-height: 13px; min-width: 13px; padding: 0px;}"</span>, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> gtk_style_context_add_provider (context, <span class='macro'>GTK_STYLE_PROVIDER (css_provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((css_provider)), ((gtk_style_provider_get_type<br> ()))))))</span></span>, <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='comment'>/* get arrow image */</span></td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> arrow = gtk_bin_get_child (<span class='macro'>GTK_BIN (button)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_bin_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> <span class='comment'>/* set image size */</span></td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20) {</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 12);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40) {</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 16);</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60) {</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 22);</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 24);</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>int</span> panel_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> panel_toplevel_update_buttons_showing (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_top, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_left, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_right, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), (((GType) ((20)<br> &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), (((GType) ((<br>20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='comment'>/* set size after setting the arrow */</span></td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> <span class='keyword'>int</span> hb_size;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20)</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> hb_size = 16;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40)</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> hb_size = 20;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60)</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> hb_size = 26;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> hb_size = 30;</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_top, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_left, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_right, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_contains_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> GdkDevice *pointer;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> pointer = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> screen = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> x = y = -1;</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> gdk_device_get_position (pointer, &amp;screen, &amp;x, &amp;y);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>if</span> (screen != gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>if</span> (x == -1 || y == -1)</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> <span class='keyword'>if</span> (x &lt; toplevel-&gt;priv-&gt;geometry.x || x &gt;= (toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width) ||</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> y &lt; toplevel-&gt;priv-&gt;geometry.y || y &gt;= (toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height))</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> <span class='keyword'>int</span> panel_toplevel_get_effective_auto_hide_size(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_height / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_width / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> <span class='comment'>/* paranoia */</span></td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> <span class='keyword'>return</span> (size &lt;= 0) ? <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> : size;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_update_struts(PanelToplevel* toplevel, gboolean end_of_animation)</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> gboolean geometry_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>int</span> strut, strut_start, strut_end;</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;updated_geometry_initial)</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span> &amp;&amp; toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> <span class='comment'>/* In the case of the initial animation, we really want the struts to</span></td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> <span class='comment'>* represent what is at the end of the animation, to avoid desktop</span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='comment'>* icons jumping around. */</span></td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> end_of_animation = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='comment'>/* We've not started the animation yet, so we have to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> <span class='comment'>* where we want to end. Note that we don't want to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='comment'>* this everytime, since the struts conflict resolution will be</span></td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> <span class='comment'>* overridden if we do so */</span></td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> <span class='keyword'>if</span> (end_of_animation) {</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> x = toplevel-&gt;priv-&gt;animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> y = toplevel-&gt;priv-&gt;animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> width = toplevel-&gt;priv-&gt;animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> height = toplevel-&gt;priv-&gt;animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> strut = strut_start = strut_end = 0;</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> <span class='keyword'>if</span> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> <span class='keyword'>if</span> (y &lt;= monitor_geom.y) {</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> strut = y + height - monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (y &gt;= monitor_geom.y + monitor_geom.height - height) {</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> strut = monitor_geom.y + monitor_geom.height - y;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> strut_start = <span class='macro'>MAX (x, monitor_geom.x)<span class='macro_popup'>(((x) &gt; (monitor_geom.x)) ? (x) : (monitor_geom.x))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> strut_end = <span class='macro'>MIN (x + width, monitor_geom.x + monitor_geom.width)<span class='macro_popup'>(((x + width) &lt; (monitor_geom.x + monitor_geom.width)) ? (<br>x + width) : (monitor_geom.x + monitor_geom.width))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>if</span> (x &lt;= monitor_geom.x) {</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> strut = x + width - monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (x &gt;= monitor_geom.x + monitor_geom.width - width) {</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> strut = monitor_geom.x + monitor_geom.width - x;</td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> strut_start = <span class='macro'>MAX (y, monitor_geom.y)<span class='macro_popup'>(((y) &gt; (monitor_geom.y)) ? (y) : (monitor_geom.y))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> strut_end = <span class='macro'>MIN (y + height, monitor_geom.y + monitor_geom.height)<span class='macro_popup'>(((y + height) &lt; (monitor_geom.y + monitor_geom.height)) ?<br> (y + height) : (monitor_geom.y + monitor_geom.height))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> <span class='keyword'>if</span> (orientation != toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; strut &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> strut = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> screen = gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> geometry_changed = panel_struts_register_strut (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> screen,</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> toplevel-&gt;priv-&gt;monitor,</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> orientation,</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> strut,</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> strut_start,</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> strut_end);</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN ||</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> panel_struts_unset_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> <span class='keyword'>return</span> geometry_changed;</td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"><span class='keyword'>void</span> panel_toplevel_update_edges(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> PanelFrameEdge inner_edges;</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"> PanelFrameEdge outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> gboolean inner_frame = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"> <span class='comment'>/* We don't want any bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> edges |= PANEL_EDGE_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> edges |= PANEL_EDGE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &lt; (monitor_geom.height - height))</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> edges |= PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &lt; (monitor_geom.width - width))</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> edges |= PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> <span class='comment'>/* There is a conflict in the position algorithm when a</span></td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> <span class='comment'>* non-expanded centered panel is nearly the size of the</span></td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='comment'>* screen. This is similar to the one we have in</span></td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"> <span class='comment'>* panel_toplevel_update_position(). A simple solution is</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> <span class='comment'>* to keep the bevels in this case. */</span></td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_left) ||</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_right)) {</td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_top) ||</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_bottom)) {</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>if</span> (!inner_frame) {</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> inner_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> outer_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> inner_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> outer_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> panel_frame_set_edges (toplevel-&gt;priv-&gt;inner_frame, inner_edges);</td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges != outer_edges) {</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> toplevel-&gt;priv-&gt;edges = outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_construct_description(PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Drawer"</span>)<span class='macro_popup'>gettext ("Drawer")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> <span class='comment'>/* translators: these string will be shown in MetaCity's switch window</span></td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> <span class='comment'>* popup when you pass the focus to a panel */</span></td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Bottom Panel"</span>)<span class='macro_popup'>gettext ("Bottom Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Left Panel"</span>)<span class='macro_popup'>gettext ("Left Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Right Panel"</span>)<span class='macro_popup'>gettext ("Right Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1655, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> description = panel_toplevel_construct_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;description, description))</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description)</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_free (toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>g_strdup (description)<span class='macro_popup'>g_strdup_inline (description)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name)</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name :</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> toplevel-&gt;priv-&gt;description,</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_attached_position(PanelToplevel* toplevel, gboolean hidden, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> GtkAllocation attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> GdkRectangle toplevel_box;</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> GdkRectangle parent_box;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> GdkRectangle attach_box;</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> <span class='keyword'>int</span> x_origin = 0, y_origin = 0;</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_widget_get_type<br> ()))))))</span></span>) ||</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> !gtk_widget_get_realized (toplevel-&gt;priv-&gt;attach_widget))</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> gtk_widget_get_allocation (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>, &amp;attach_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> toplevel_box = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> parent_box = toplevel-&gt;priv-&gt;attach_toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> attach_box = attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> <span class='keyword'>if</span> (attach_box.x != -1) {</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> &amp;x_origin, &amp;y_origin);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> attach_box.x += x_origin;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> attach_box.y += y_origin;</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> <span class='comment'>/* attach_widget isn't allocated. Put the toplevel</span></td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='comment'>* off screen.</span></td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> attach_box.x = -toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> attach_box.y = -toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> attach_orientation = panel_toplevel_get_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> <span class='keyword'>if</span> (attach_orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> *x = attach_box.x + attach_box.width / 2 - toplevel_box.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> *y = attach_box.y + attach_box.height / 2 - toplevel_box.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> *y += parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> *y -= toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> *x += parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> *x -= toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1756, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> *x -= monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> *y -= monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - toplevel-&gt;priv-&gt;original_width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>)) ? (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - toplevel-&gt;priv-&gt;original_height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>)) ? (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_normal_position(PanelToplevel* toplevel, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1777, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - width)) ? (monitor_geom.width<br> - width) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - height)) ? (monitor_geom.height<br> - height) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line">panel_toplevel_update_auto_hide_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> <span class='keyword'>int</span> *h,</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> gboolean for_end_position)</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1825, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;floating) {</td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> panel_toplevel_update_normal_position (toplevel, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='comment'>/* For the initial animation, we animate from outside the screen, and</span></td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> <span class='comment'>* so we don't want the toplevel to be visible at all. But when the</span></td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line"> <span class='comment'>* request is for the end position, then we give the real result (it's</span></td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> <span class='comment'>* useful for struts) */</span></td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"> <span class='keyword'>if</span> (for_end_position || toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line"> auto_hide_size = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> auto_hide_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> *y = - (height - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> *y = monitor_geom.height - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> *x = - (width - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> *x = monitor_geom.width - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1862, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> } <span class='keyword'>else</span> <span class='comment'>/* if (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK) */</span> {</td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='comment'>/* FIXME: this is wrong for Xinerama. In the Xinerama case</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line"> <span class='comment'>* I think if hiding it requires it to go onto the</span></td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line"> <span class='comment'>* next monitor then it should just move it on to</span></td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> <span class='comment'>* the next monitor and set its state back to normal</span></td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line">panel_toplevel_update_hidden_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> <span class='keyword'>int</span> *h)</td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> <span class='keyword'>int</span> min_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> GtkAllocation hide_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1904, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line"> <span class='comment'>/* FIXME should find a better default */</span></td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> min_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_bottom,</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> *y = - (height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_top,</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> *y = monitor_geom.height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_right,</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"> *x = - (width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_left,</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> *x = monitor_geom.width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1946, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> <span class='comment'>* This is "almost" like the double sine movement</span></td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> <span class='comment'>* from the original panel except that it uses</span></td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='comment'>* a cubic (twice again). I suppose it looks less</span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='comment'>* mathematical now :) -- _v_</span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line">get_delta (<span class='keyword'>int</span> src,</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> <span class='keyword'>int</span> dest,</td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"> GTimeSpan elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> GTimeSpan duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> <span class='keyword'>double</span> x, percentage;</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>if</span> (abs (dest - src) &lt;= 1 || elapsed_time &gt;= duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line"> <span class='keyword'>return</span> dest - src;</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"> <span class='comment'>/* The cubic is: p(x) = (-2) x^2 (x-1.5) */</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line"> <span class='comment'>/* running p(p(x)) to make it more "pronounced",</span></td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line"> <span class='comment'>* effectively making it a ninth-degree polynomial */</span></td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> x = (<span class='keyword'>double</span>)elapsed_time/duration_time;</td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> x = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>/* run it again */</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> percentage = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> percentage = <span class='macro'>CLAMP (percentage, 0.0, 1.0)<span class='macro_popup'>(((percentage) &gt; (1.0)) ? (1.0) : (((percentage) &lt; (0.0<br>)) ? (0.0) : (percentage)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line"> <span class='keyword'>return</span> ((dest - src) * percentage);</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">panel_toplevel_update_animating_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GTimeSpan animation_elapsed_time;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> <span class='keyword'>int</span> monitor_offset_x, monitor_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;animation_start_time &lt;= 0) ||</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> (toplevel-&gt;priv-&gt;animation_duration_time &lt;= 0))</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> animation_elapsed_time = g_get_monotonic_time () - toplevel-&gt;priv-&gt;animation_start_time;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> monitor_offset_x = panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> monitor_offset_y = panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> deltaw = get_delta (toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> deltah = get_delta (toplevel-&gt;priv-&gt;geometry.height,</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> deltax = get_delta (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> deltay = get_delta (toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='keyword'>if</span> (deltaw != 0 &amp;&amp; abs (deltaw) &gt; abs (deltax))</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> deltax = deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> <span class='keyword'>if</span> (deltah != 0 &amp;&amp; abs (deltah) &gt; abs (deltay))</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> deltay = deltah;</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x += deltax;</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y += deltay;</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width += deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height += deltah;</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x == toplevel-&gt;priv-&gt;animation_end_x &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y == toplevel-&gt;priv-&gt;animation_end_y) {</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='comment'>/* Note: it's important to set initial_animation_done to TRUE</span></td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='comment'>* as soon as possible (hence, here) since we don't want to</span></td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> <span class='comment'>* have a wrong value in a size request event */</span></td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; panel_toplevel_get_is_hidden (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> gtk_widget_unmap (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line">panel_toplevel_update_expanded_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> <span class='keyword'>int</span> x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> x = <span class="mrange">-1</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex">Value stored to 'x' is never read</div></td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> y = -1;</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> y = monitor_geom.y + monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> y_bottom = 0;</td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> x = monitor_geom.x + monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> x_right = 0;</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2087, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (x, y);</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> x -= panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> y -= panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x_right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y_bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line">panel_toplevel_update_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='keyword'>int</span> w, h;</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> panel_toplevel_update_animating_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;position_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> toplevel-&gt;priv-&gt;x -= toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> x_right = monitor_geom.width - (toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line"> <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line"> toplevel-&gt;priv-&gt;y -= toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> y_bottom = monitor_geom.height - (toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> panel_toplevel_update_expanded_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> panel_toplevel_calc_floating (toplevel); <span class='comment'>/* FIXME should probably be done after panel_toplevel_update_normal_position() too */</span></td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line"> y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> w = h = -1;</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> panel_toplevel_update_normal_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> panel_toplevel_update_hidden_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> <span class='keyword'>if</span> (w != -1)</td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = w;</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> <span class='keyword'>if</span> (h != -1)</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = h;</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"> <span class='comment'>/* This is some kind of snap: there's a possibility of an infinite loop</span></td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line"> <span class='comment'>* because of the bevels of the frame that are set in</span></td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='comment'>* panel_toplevel_update_edges(). The bevels change the width/height of</span></td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='comment'>* the toplevel. The typical loop is:</span></td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='comment'>* x = 1 =&gt; outer bevel =&gt; x = 0 =&gt; no outer bevel = &gt; x = 1 =&gt; ...</span></td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='comment'>* FIXME: maybe the real bug is that we enter into this loop (see bug</span></td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> <span class='comment'>* #160748 to learn how to reproduce.) */</span></td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> background = &amp;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> <span class='comment'>/* There's no bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> <span class='keyword'>if</span> (panel_background_effective_type (background) == PANEL_BACK_NONE) {</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> GdkRectangle *geometry;</td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> <span class='keyword'>int</span> max_size;</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> state = gtk_widget_get_state_flags (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> geometry = &amp;toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> <span class='keyword'>if</span> (x &lt;= padding.left &amp;&amp; x &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> <span class='keyword'>if</span> (y &lt;= padding.top &amp;&amp; y &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> max_size = monitor_geom.width - geometry-&gt;width - padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> <span class='keyword'>if</span> (x + padding.left &gt;= max_size &amp;&amp; x &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> x = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> max_size = monitor_geom.height - geometry-&gt;height - padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> <span class='keyword'>if</span> (y + padding.top &gt;= max_size &amp;&amp; y &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> y = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = x;</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = y;</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line">calculate_minimum_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> GtkStyleContext *style_context;</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> PangoFontDescription *font_desc;</td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> PangoContext *pango_context;</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> PangoFontMetrics *metrics;</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> <span class='keyword'>int</span> ascent;</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> <span class='keyword'>int</span> descent;</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> <span class='keyword'>int</span> thickness;</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> style_context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> gtk_style_context_get(style_context, state, <span class='macro'>GTK_STYLE_PROPERTY_FONT<span class='macro_popup'>"font"</span></span>, &amp;font_desc, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> pango_context = gtk_widget_get_pango_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> metrics = pango_context_get_metrics (pango_context,</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> font_desc,</td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> pango_context_get_language (pango_context));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> gtk_style_context_get_padding (style_context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> ascent = pango_font_metrics_get_ascent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> descent = pango_font_metrics_get_descent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> pango_font_description_free (font_desc);</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> pango_font_metrics_unref (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line"> thickness = (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> padding.top + padding.bottom :</td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"> padding.left + padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANGO_PIXELS (ascent + descent)<span class='macro_popup'>(((int)(ascent + descent) + 512) &gt;&gt; 10)</span></span> + thickness;</td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line">panel_toplevel_update_size_from_hints (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='keyword'>int</span> requisition_size,</td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='keyword'>int</span> monitor_size,</td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size)</td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='keyword'>int</span> nb_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> AppletSizeHints *applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> AppletSizeHintsAlloc *using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='keyword'>int</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='keyword'>int</span> full_hints;</td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='comment'>/* Scale down the size so that the panel only takes what it needs for the applets it has. */</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> total_size = non_panel_widget_size + (requisition_size / toplevel-&gt;priv-&gt;scale);</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"> nb_size_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;nb_applets_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> <span class='keyword'>if</span> (nb_size_hints &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> applets_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line"> using_hint = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> using_hint[i].index = applets_hints[i].len - 2;</td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"> using_hint[i].size = applets_hints[i].hints[applets_hints[i].len - 1];</td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line"> total_size += using_hint[i].size;</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> <span class='keyword'>if</span> (total_size &gt; monitor_size)</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>return</span> monitor_size;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> <span class='keyword'>while</span> (full_hints != nb_size_hints &amp;&amp; total_size &lt; monitor_size) {</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> <span class='keyword'>int</span> bonus;</td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> <span class='keyword'>int</span> extra_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> / (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> extra_bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> % (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> <span class='keyword'>int</span> current_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> current_bonus = bonus;</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> <span class='keyword'>while</span> (using_hint[i].index &gt; 0 &amp;&amp; applets_hints[i].hints[using_hint[i].index - 1] &lt; using_hint[i].size + current_bonus) {</td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"> new_size = applets_hints[i].hints[using_hint[i].index - 1];</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line"> current_bonus = using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> + current_bonus - new_size;</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> total_size = total_size - using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> + new_size;</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> using_hint[i].index -= 2;</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"> <span class='macro'>using_hint[i].size + current_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> total_size += (new_size - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (extra_bonus &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> <span class='macro'>using_hint[i].size + extra_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> total_size += (new_size</td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> extra_bonus -= (new_size</td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line"> <span class='keyword'>if</span> (using_hint[i].size == applets_hints[i].hints[using_hint[i].index])</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> full_hints++;</td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line">panel_toplevel_update_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='keyword'>int</span> minimum_height;</td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size;</td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"> width = requisition-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> height = requisition-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> !toplevel-&gt;priv-&gt;buttons_enabled &amp;&amp; !toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> non_panel_widget_size = 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> non_panel_widget_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> minimum_height = calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> height = <span class='macro'>MAX (MIN (MAX (height, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> <span class='keyword'>int</span> max_width;</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> max_width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> max_width = monitor_geom.width</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> max_width = toplevel-&gt;priv-&gt;geometry.x +</td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> width = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> requisition-&gt;width,</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> max_width,</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> width = <span class='macro'>MAX (MINIMUM_WIDTH, width)<span class='macro_popup'>(((100) &gt; (width)) ? (100) : (width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> width = <span class='macro'>MAX (MIN (MAX (width, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> <span class='keyword'>int</span> max_height;</td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> max_height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> max_height = monitor_geom.height</td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> max_height = toplevel-&gt;priv-&gt;geometry.y +</td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> height = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> requisition-&gt;height,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> max_height,</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line"> height = <span class='macro'>MAX (MINIMUM_WIDTH, height)<span class='macro_popup'>(((100) &gt; (height)) ? (100) : (height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> height += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> height += padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> width += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> width += padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = <span class='macro'>CLAMP (width, 0, monitor_geom.width)<span class='macro_popup'>(((width) &gt; (monitor_geom.width)) ? (monitor_geom.width) :<br> (((width) &lt; (0)) ? (0) : (width)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = <span class='macro'>CLAMP (height, 0, monitor_geom.height)<span class='macro_popup'>(((height) &gt; (monitor_geom.height)) ? (monitor_geom.height<br>) : (((height) &lt; (0)) ? (0) : (height)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> toplevel-&gt;priv-&gt;original_width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> toplevel-&gt;priv-&gt;original_height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">panel_toplevel_update_geometry (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> panel_toplevel_update_size (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> panel_toplevel_update_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line">panel_toplevel_attach_widget_destroyed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> panel_toplevel_detach (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line">panel_toplevel_attach_widget_configure (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line">panel_toplevel_update_attach_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> attach_orientation =</td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"> panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2567"><td class="num" id="LN2567">2567</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="2568"><td class="num" id="LN2568">2568</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2569"><td class="num" id="LN2569">2569</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2570"><td class="num" id="LN2570">2570</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2570, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2571"><td class="num" id="LN2571">2571</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2572"><td class="num" id="LN2572">2572</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2573"><td class="num" id="LN2573">2573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2574"><td class="num" id="LN2574">2574</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="2575"><td class="num" id="LN2575">2575</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2576"><td class="num" id="LN2576">2576</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2577"><td class="num" id="LN2577">2577</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2578"><td class="num" id="LN2578">2578</td><td class="line">panel_toplevel_attach_widget_parent_set (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2579"><td class="num" id="LN2579">2579</td><td class="line"> GtkWidget *previous_parent,</td></tr>
+<tr class="codeline" data-linenumber="2580"><td class="num" id="LN2580">2580</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2581"><td class="num" id="LN2581">2581</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2582"><td class="num" id="LN2582">2582</td><td class="line"> GtkWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="2583"><td class="num" id="LN2583">2583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2584"><td class="num" id="LN2584">2584</td><td class="line"> panel_widget = gtk_widget_get_parent (<span class='macro'>GTK_WIDGET (attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_widget)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2585"><td class="num" id="LN2585">2585</td><td class="line"> <span class='keyword'>if</span> (!panel_widget)</td></tr>
+<tr class="codeline" data-linenumber="2586"><td class="num" id="LN2586">2586</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2587"><td class="num" id="LN2587">2587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2588"><td class="num" id="LN2588">2588</td><td class="line"> <span class='macro'>g_assert (PANEL_IS_WIDGET (panel_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((panel_widget)); GType __t = ((panel_widget_get_type()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>))))) ; else g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2588, ((const char*) (__func__)), "PANEL_IS_WIDGET (panel_widget)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2589"><td class="num" id="LN2589">2589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2590"><td class="num" id="LN2590">2590</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>PANEL_WIDGET (panel_widget)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel_widget)), ((panel_widget_get_type()))))))</span></span>-&gt;toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2591"><td class="num" id="LN2591">2591</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2592"><td class="num" id="LN2592">2592</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2593"><td class="num" id="LN2593">2593</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2594"><td class="num" id="LN2594">2594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2595"><td class="num" id="LN2595">2595</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2596"><td class="num" id="LN2596">2596</td><td class="line">panel_toplevel_attach_toplevel_hiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2597"><td class="num" id="LN2597">2597</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2598"><td class="num" id="LN2598">2598</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_get_is_hidden (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="2599"><td class="num" id="LN2599">2599</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="2600"><td class="num" id="LN2600">2600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2601"><td class="num" id="LN2601">2601</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2602"><td class="num" id="LN2602">2602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2603"><td class="num" id="LN2603">2603</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2604"><td class="num" id="LN2604">2604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2605"><td class="num" id="LN2605">2605</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2606"><td class="num" id="LN2606">2606</td><td class="line">panel_toplevel_attach_toplevel_unhiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2607"><td class="num" id="LN2607">2607</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2608"><td class="num" id="LN2608">2608</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attach_hidden)</td></tr>
+<tr class="codeline" data-linenumber="2609"><td class="num" id="LN2609">2609</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2610"><td class="num" id="LN2610">2610</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2611"><td class="num" id="LN2611">2611</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2612"><td class="num" id="LN2612">2612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2613"><td class="num" id="LN2613">2613</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2614"><td class="num" id="LN2614">2614</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2615"><td class="num" id="LN2615">2615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2616"><td class="num" id="LN2616">2616</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2617"><td class="num" id="LN2617">2617</td><td class="line">panel_toplevel_reverse_arrow (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2618"><td class="num" id="LN2618">2618</td><td class="line"> GtkWidget *button)</td></tr>
+<tr class="codeline" data-linenumber="2619"><td class="num" id="LN2619">2619</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2620"><td class="num" id="LN2620">2620</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="2621"><td class="num" id="LN2621">2621</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2622"><td class="num" id="LN2622">2622</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2623"><td class="num" id="LN2623">2623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2624"><td class="num" id="LN2624">2624</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="2625"><td class="num" id="LN2625">2625</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="2626"><td class="num" id="LN2626">2626</td><td class="line"> arrow_type = GTK_ARROW_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="2627"><td class="num" id="LN2627">2627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2628"><td class="num" id="LN2628">2628</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="2629"><td class="num" id="LN2629">2629</td><td class="line"> arrow_type = GTK_ARROW_UP;</td></tr>
+<tr class="codeline" data-linenumber="2630"><td class="num" id="LN2630">2630</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2631"><td class="num" id="LN2631">2631</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2632"><td class="num" id="LN2632">2632</td><td class="line"> arrow_type = GTK_ARROW_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2633"><td class="num" id="LN2633">2633</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2634"><td class="num" id="LN2634">2634</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2635"><td class="num" id="LN2635">2635</td><td class="line"> arrow_type = GTK_ARROW_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2636"><td class="num" id="LN2636">2636</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2637"><td class="num" id="LN2637">2637</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2638"><td class="num" id="LN2638">2638</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2638, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2639"><td class="num" id="LN2639">2639</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2640"><td class="num" id="LN2640">2640</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2641"><td class="num" id="LN2641">2641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2642"><td class="num" id="LN2642">2642</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrow-type"</span>, <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2643"><td class="num" id="LN2643">2643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2644"><td class="num" id="LN2644">2644</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (gtk_bin_get_child (GTK_BIN (button)))<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_bin_get_child (((((GtkBin*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), ((gtk_bin_get_type ())))))))))<br>, ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="2645"><td class="num" id="LN2645">2645</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2646"><td class="num" id="LN2646">2646</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2647"><td class="num" id="LN2647">2647</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2648"><td class="num" id="LN2648">2648</td><td class="line">panel_toplevel_reverse_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2649"><td class="num" id="LN2649">2649</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2650"><td class="num" id="LN2650">2650</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="2651"><td class="num" id="LN2651">2651</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="2652"><td class="num" id="LN2652">2652</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="2653"><td class="num" id="LN2653">2653</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="2654"><td class="num" id="LN2654">2654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2655"><td class="num" id="LN2655">2655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2656"><td class="num" id="LN2656">2656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2657"><td class="num" id="LN2657">2657</td><td class="line">panel_toplevel_disconnect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2658"><td class="num" id="LN2658">2658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2659"><td class="num" id="LN2659">2659</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="2660"><td class="num" id="LN2660">2660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2661"><td class="num" id="LN2661">2661</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION(2,62,0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (62)) || (2 == (2<br>) &amp;&amp; 78 == (62) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2662"><td class="num" id="LN2662">2662</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2663"><td class="num" id="LN2663">2663</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_toplevel_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2664"><td class="num" id="LN2664">2664</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2665"><td class="num" id="LN2665">2665</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2666"><td class="num" id="LN2666">2666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2667"><td class="num" id="LN2667">2667</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2668"><td class="num" id="LN2668">2668</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_widget_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2669"><td class="num" id="LN2669">2669</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2670"><td class="num" id="LN2670">2670</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2671"><td class="num" id="LN2671">2671</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2672"><td class="num" id="LN2672">2672</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2673"><td class="num" id="LN2673">2673</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2674"><td class="num" id="LN2674">2674</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2675"><td class="num" id="LN2675">2675</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2676"><td class="num" id="LN2676">2676</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2677"><td class="num" id="LN2677">2677</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2678"><td class="num" id="LN2678">2678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2679"><td class="num" id="LN2679">2679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2680"><td class="num" id="LN2680">2680</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2681"><td class="num" id="LN2681">2681</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_widget_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2682"><td class="num" id="LN2682">2682</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="2683"><td class="num" id="LN2683">2683</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2684"><td class="num" id="LN2684">2684</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2685"><td class="num" id="LN2685">2685</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2686"><td class="num" id="LN2686">2686</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2687"><td class="num" id="LN2687">2687</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2688"><td class="num" id="LN2688">2688</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2689"><td class="num" id="LN2689">2689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2690"><td class="num" id="LN2690">2690</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2691"><td class="num" id="LN2691">2691</td><td class="line">panel_toplevel_connect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2692"><td class="num" id="LN2692">2692</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2693"><td class="num" id="LN2693">2693</td><td class="line"> gulong *signals;</td></tr>
+<tr class="codeline" data-linenumber="2694"><td class="num" id="LN2694">2694</td><td class="line"> <span class='keyword'>int</span> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2695"><td class="num" id="LN2695">2695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2696"><td class="num" id="LN2696">2696</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_toplevel_signals;</td></tr>
+<tr class="codeline" data-linenumber="2697"><td class="num" id="LN2697">2697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2698"><td class="num" id="LN2698">2698</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2699"><td class="num" id="LN2699">2699</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2700"><td class="num" id="LN2700">2700</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2701"><td class="num" id="LN2701">2701</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2702"><td class="num" id="LN2702">2702</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"notify::orientation"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2703"><td class="num" id="LN2703">2703</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_update_attach_orientation), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2704"><td class="num" id="LN2704">2704</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2705"><td class="num" id="LN2705">2705</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2706"><td class="num" id="LN2706">2706</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2707"><td class="num" id="LN2707">2707</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2708"><td class="num" id="LN2708">2708</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"hiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2709"><td class="num" id="LN2709">2709</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_hiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2710"><td class="num" id="LN2710">2710</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2711"><td class="num" id="LN2711">2711</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"unhiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2712"><td class="num" id="LN2712">2712</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_unhiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2713"><td class="num" id="LN2713">2713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2714"><td class="num" id="LN2714">2714</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_TOPLEVEL_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2714, ((const char*) (__func__)), "i == N_ATTACH_TOPLEVEL_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2715"><td class="num" id="LN2715">2715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2716"><td class="num" id="LN2716">2716</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_widget_signals;</td></tr>
+<tr class="codeline" data-linenumber="2717"><td class="num" id="LN2717">2717</td><td class="line"> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2718"><td class="num" id="LN2718">2718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2719"><td class="num" id="LN2719">2719</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2720"><td class="num" id="LN2720">2720</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2721"><td class="num" id="LN2721">2721</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2722"><td class="num" id="LN2722">2722</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2723"><td class="num" id="LN2723">2723</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2724"><td class="num" id="LN2724">2724</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2725"><td class="num" id="LN2725">2725</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2726"><td class="num" id="LN2726">2726</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"parent-set"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2727"><td class="num" id="LN2727">2727</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_parent_set), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2728"><td class="num" id="LN2728">2728</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2729"><td class="num" id="LN2729">2729</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"show"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2730"><td class="num" id="LN2730">2730</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_show), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2731"><td class="num" id="LN2731">2731</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2732"><td class="num" id="LN2732">2732</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"hide"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2733"><td class="num" id="LN2733">2733</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_hide), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2734"><td class="num" id="LN2734">2734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2735"><td class="num" id="LN2735">2735</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_WIDGET_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2735, ((const char*) (__func__)), "i == N_ATTACH_WIDGET_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2736"><td class="num" id="LN2736">2736</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2737"><td class="num" id="LN2737">2737</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2738"><td class="num" id="LN2738">2738</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2739"><td class="num" id="LN2739">2739</td><td class="line">panel_toplevel_attach_to_widget (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2740"><td class="num" id="LN2740">2740</td><td class="line"> PanelToplevel *attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2741"><td class="num" id="LN2741">2741</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2742"><td class="num" id="LN2742">2742</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2743"><td class="num" id="LN2743">2743</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2744"><td class="num" id="LN2744">2744</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (attach_toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_toplevel)); GType __t = ((panel_toplevel_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "PANEL_IS_TOPLEVEL (attach_toplevel)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2745"><td class="num" id="LN2745">2745</td><td class="line"> <span class='macro'>g_return_if_fail (GTK_IS_WIDGET (attach_widget))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_widget)); GType __t = ((gtk_widget_get_type ()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>)))))) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "GTK_IS_WIDGET (attach_widget)"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2746"><td class="num" id="LN2746">2746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2747"><td class="num" id="LN2747">2747</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2748"><td class="num" id="LN2748">2748</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2749"><td class="num" id="LN2749">2749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2750"><td class="num" id="LN2750">2750</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2751"><td class="num" id="LN2751">2751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2752"><td class="num" id="LN2752">2752</td><td class="line"> <span class='comment'>/* Cancelling the initial animation for drawers in</span></td></tr>
+<tr class="codeline" data-linenumber="2753"><td class="num" id="LN2753">2753</td><td class="line"> <span class='comment'>* panel_toplevel_initially_hide() is not enough, since this will</span></td></tr>
+<tr class="codeline" data-linenumber="2754"><td class="num" id="LN2754">2754</td><td class="line"> <span class='comment'>* happen only when the toplevel is realized, which might be too late</span></td></tr>
+<tr class="codeline" data-linenumber="2755"><td class="num" id="LN2755">2755</td><td class="line"> <span class='comment'>* for drawers (since it's realized when the drawer is clicked) */</span></td></tr>
+<tr class="codeline" data-linenumber="2756"><td class="num" id="LN2756">2756</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2757"><td class="num" id="LN2757">2757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2758"><td class="num" id="LN2758">2758</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2759"><td class="num" id="LN2759">2759</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2760"><td class="num" id="LN2760">2760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2761"><td class="num" id="LN2761">2761</td><td class="line"> panel_toplevel_connect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2762"><td class="num" id="LN2762">2762</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2763"><td class="num" id="LN2763">2763</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2764"><td class="num" id="LN2764">2764</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2765"><td class="num" id="LN2765">2765</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2766"><td class="num" id="LN2766">2766</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2767"><td class="num" id="LN2767">2767</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2768"><td class="num" id="LN2768">2768</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2769"><td class="num" id="LN2769">2769</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_toplevel)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2770"><td class="num" id="LN2770">2770</td><td class="line"> panel_toplevel_set_monitor (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2771"><td class="num" id="LN2771">2771</td><td class="line"> panel_toplevel_get_monitor (attach_toplevel));</td></tr>
+<tr class="codeline" data-linenumber="2772"><td class="num" id="LN2772">2772</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2773"><td class="num" id="LN2773">2773</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2774"><td class="num" id="LN2774">2774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2775"><td class="num" id="LN2775">2775</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2776"><td class="num" id="LN2776">2776</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2777"><td class="num" id="LN2777">2777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2778"><td class="num" id="LN2778">2778</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2779"><td class="num" id="LN2779">2779</td><td class="line">panel_toplevel_detach (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2780"><td class="num" id="LN2780">2780</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2781"><td class="num" id="LN2781">2781</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2782"><td class="num" id="LN2782">2782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2783"><td class="num" id="LN2783">2783</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2784"><td class="num" id="LN2784">2784</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2785"><td class="num" id="LN2785">2785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2786"><td class="num" id="LN2786">2786</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2787"><td class="num" id="LN2787">2787</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2788"><td class="num" id="LN2788">2788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2789"><td class="num" id="LN2789">2789</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2790"><td class="num" id="LN2790">2790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2791"><td class="num" id="LN2791">2791</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2792"><td class="num" id="LN2792">2792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2793"><td class="num" id="LN2793">2793</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2794"><td class="num" id="LN2794">2794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2795"><td class="num" id="LN2795">2795</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2796"><td class="num" id="LN2796">2796</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2797"><td class="num" id="LN2797">2797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2798"><td class="num" id="LN2798">2798</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2799"><td class="num" id="LN2799">2799</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2800"><td class="num" id="LN2800">2800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2801"><td class="num" id="LN2801">2801</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="2802"><td class="num" id="LN2802">2802</td><td class="line">panel_toplevel_get_is_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2803"><td class="num" id="LN2803">2803</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2804"><td class="num" id="LN2804">2804</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2805"><td class="num" id="LN2805">2805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2806"><td class="num" id="LN2806">2806</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attached;</td></tr>
+<tr class="codeline" data-linenumber="2807"><td class="num" id="LN2807">2807</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2808"><td class="num" id="LN2808">2808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2809"><td class="num" id="LN2809">2809</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="2810"><td class="num" id="LN2810">2810</td><td class="line">panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2811"><td class="num" id="LN2811">2811</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2812"><td class="num" id="LN2812">2812</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2813"><td class="num" id="LN2813">2813</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2814"><td class="num" id="LN2814">2814</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2815"><td class="num" id="LN2815">2815</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2816"><td class="num" id="LN2816">2816</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2817"><td class="num" id="LN2817">2817</td><td class="line">GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2818"><td class="num" id="LN2818">2818</td><td class="line">panel_toplevel_get_attach_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2819"><td class="num" id="LN2819">2819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2820"><td class="num" id="LN2820">2820</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2821"><td class="num" id="LN2821">2821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2822"><td class="num" id="LN2822">2822</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2823"><td class="num" id="LN2823">2823</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2824"><td class="num" id="LN2824">2824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2825"><td class="num" id="LN2825">2825</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2826"><td class="num" id="LN2826">2826</td><td class="line">panel_toplevel_popup_panel_menu (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2827"><td class="num" id="LN2827">2827</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2828"><td class="num" id="LN2828">2828</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2829"><td class="num" id="LN2829">2829</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2830"><td class="num" id="LN2830">2830</td><td class="line"> g_signal_emit_by_name (toplevel, <span class='string_literal'>"popup-menu"</span>, &amp;retval);</td></tr>
+<tr class="codeline" data-linenumber="2831"><td class="num" id="LN2831">2831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2832"><td class="num" id="LN2832">2832</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2833"><td class="num" id="LN2833">2833</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2834"><td class="num" id="LN2834">2834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2835"><td class="num" id="LN2835">2835</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2836"><td class="num" id="LN2836">2836</td><td class="line">panel_toplevel_toggle_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2837"><td class="num" id="LN2837">2837</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2838"><td class="num" id="LN2838">2838</td><td class="line"> panel_toplevel_set_expand (toplevel, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="2839"><td class="num" id="LN2839">2839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2840"><td class="num" id="LN2840">2840</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2841"><td class="num" id="LN2841">2841</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2842"><td class="num" id="LN2842">2842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2843"><td class="num" id="LN2843">2843</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2844"><td class="num" id="LN2844">2844</td><td class="line">panel_toplevel_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2845"><td class="num" id="LN2845">2845</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2846"><td class="num" id="LN2846">2846</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2847"><td class="num" id="LN2847">2847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2848"><td class="num" id="LN2848">2848</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2849"><td class="num" id="LN2849">2849</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2850"><td class="num" id="LN2850">2850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2851"><td class="num" id="LN2851">2851</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2852"><td class="num" id="LN2852">2852</td><td class="line">panel_toplevel_unexpand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2853"><td class="num" id="LN2853">2853</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2854"><td class="num" id="LN2854">2854</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2855"><td class="num" id="LN2855">2855</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2856"><td class="num" id="LN2856">2856</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2857"><td class="num" id="LN2857">2857</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2858"><td class="num" id="LN2858">2858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2859"><td class="num" id="LN2859">2859</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2860"><td class="num" id="LN2860">2860</td><td class="line">panel_toplevel_toggle_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2861"><td class="num" id="LN2861">2861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2862"><td class="num" id="LN2862">2862</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2863"><td class="num" id="LN2863">2863</td><td class="line"> panel_toplevel_hide (toplevel, toplevel-&gt;priv-&gt;auto_hide, -1);</td></tr>
+<tr class="codeline" data-linenumber="2864"><td class="num" id="LN2864">2864</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2865"><td class="num" id="LN2865">2865</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2866"><td class="num" id="LN2866">2866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2867"><td class="num" id="LN2867">2867</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2868"><td class="num" id="LN2868">2868</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2869"><td class="num" id="LN2869">2869</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2870"><td class="num" id="LN2870">2870</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2871"><td class="num" id="LN2871">2871</td><td class="line">panel_toplevel_begin_move (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2872"><td class="num" id="LN2872">2872</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2873"><td class="num" id="LN2873">2873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2874"><td class="num" id="LN2874">2874</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2875"><td class="num" id="LN2875">2875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2876"><td class="num" id="LN2876">2876</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2877"><td class="num" id="LN2877">2877</td><td class="line"> toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2878"><td class="num" id="LN2878">2878</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2879"><td class="num" id="LN2879">2879</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2880"><td class="num" id="LN2880">2880</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2881"><td class="num" id="LN2881">2881</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2882"><td class="num" id="LN2882">2882</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2883"><td class="num" id="LN2883">2883</td><td class="line">panel_toplevel_begin_resize (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2884"><td class="num" id="LN2884">2884</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2885"><td class="num" id="LN2885">2885</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2886"><td class="num" id="LN2886">2886</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2887"><td class="num" id="LN2887">2887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2888"><td class="num" id="LN2888">2888</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2889"><td class="num" id="LN2889">2889</td><td class="line"> toplevel, PANEL_GRAB_OP_RESIZE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2890"><td class="num" id="LN2890">2890</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2891"><td class="num" id="LN2891">2891</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2892"><td class="num" id="LN2892">2892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2893"><td class="num" id="LN2893">2893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2894"><td class="num" id="LN2894">2894</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2895"><td class="num" id="LN2895">2895</td><td class="line">panel_toplevel_move_resize_window (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2896"><td class="num" id="LN2896">2896</td><td class="line"> gboolean move,</td></tr>
+<tr class="codeline" data-linenumber="2897"><td class="num" id="LN2897">2897</td><td class="line"> gboolean resize)</td></tr>
+<tr class="codeline" data-linenumber="2898"><td class="num" id="LN2898">2898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2899"><td class="num" id="LN2899">2899</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2900"><td class="num" id="LN2900">2900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2901"><td class="num" id="LN2901">2901</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="2902"><td class="num" id="LN2902">2902</td><td class="line"> gboolean stick;</td></tr>
+<tr class="codeline" data-linenumber="2903"><td class="num" id="LN2903">2903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2904"><td class="num" id="LN2904">2904</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2905"><td class="num" id="LN2905">2905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2906"><td class="num" id="LN2906">2906</td><td class="line"> <span class='macro'>g_assert (gtk_widget_get_realized (widget))<span class='macro_popup'>do { if (gtk_widget_get_realized (widget)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 2906, ((const char*) (__func__<br>)), "gtk_widget_get_realized (widget)"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2907"><td class="num" id="LN2907">2907</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2908"><td class="num" id="LN2908">2908</td><td class="line"> <span class='keyword'>if</span> (move &amp;&amp; resize)</td></tr>
+<tr class="codeline" data-linenumber="2909"><td class="num" id="LN2909">2909</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2910"><td class="num" id="LN2910">2910</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2911"><td class="num" id="LN2911">2911</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2912"><td class="num" id="LN2912">2912</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2913"><td class="num" id="LN2913">2913</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2914"><td class="num" id="LN2914">2914</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (move)</td></tr>
+<tr class="codeline" data-linenumber="2915"><td class="num" id="LN2915">2915</td><td class="line"> gdk_window_move (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2916"><td class="num" id="LN2916">2916</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2917"><td class="num" id="LN2917">2917</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y);</td></tr>
+<tr class="codeline" data-linenumber="2918"><td class="num" id="LN2918">2918</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (resize)</td></tr>
+<tr class="codeline" data-linenumber="2919"><td class="num" id="LN2919">2919</td><td class="line"> gdk_window_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2920"><td class="num" id="LN2920">2920</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2921"><td class="num" id="LN2921">2921</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2922"><td class="num" id="LN2922">2922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2923"><td class="num" id="LN2923">2923</td><td class="line"> <span class='keyword'>if</span> (resize || move) {</td></tr>
+<tr class="codeline" data-linenumber="2924"><td class="num" id="LN2924">2924</td><td class="line"> <span class='keyword'>for</span> (list = toplevel-&gt;priv-&gt;panel_widget-&gt;applet_list; list != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; list = <span class='macro'>g_list_next (list)<span class='macro_popup'>((list) ? (((GList *)(list))-&gt;next) : ((void*)0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2925"><td class="num" id="LN2925">2925</td><td class="line"> AppletData *ad = list-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="2926"><td class="num" id="LN2926">2926</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = mate_panel_applet_get_id_by_widget (ad-&gt;applet);</td></tr>
+<tr class="codeline" data-linenumber="2927"><td class="num" id="LN2927">2927</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2928"><td class="num" id="LN2928">2928</td><td class="line"> <span class='keyword'>if</span> (!id)</td></tr>
+<tr class="codeline" data-linenumber="2929"><td class="num" id="LN2929">2929</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2930"><td class="num" id="LN2930">2930</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2931"><td class="num" id="LN2931">2931</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="2932"><td class="num" id="LN2932">2932</td><td class="line"> info = mate_panel_applet_get_by_id (id);</td></tr>
+<tr class="codeline" data-linenumber="2933"><td class="num" id="LN2933">2933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2934"><td class="num" id="LN2934">2934</td><td class="line"> stick = g_settings_get_boolean (info-&gt;settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2935"><td class="num" id="LN2935">2935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2936"><td class="num" id="LN2936">2936</td><td class="line"> <span class='keyword'>if</span> (stick) {</td></tr>
+<tr class="codeline" data-linenumber="2937"><td class="num" id="LN2937">2937</td><td class="line"> <span class='keyword'>int</span> position = g_settings_get_int (info-&gt;settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2938"><td class="num" id="LN2938">2938</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2939"><td class="num" id="LN2939">2939</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.width - position;</td></tr>
+<tr class="codeline" data-linenumber="2940"><td class="num" id="LN2940">2940</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2941"><td class="num" id="LN2941">2941</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.height - position;</td></tr>
+<tr class="codeline" data-linenumber="2942"><td class="num" id="LN2942">2942</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2943"><td class="num" id="LN2943">2943</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2944"><td class="num" id="LN2944">2944</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2945"><td class="num" id="LN2945">2945</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2946"><td class="num" id="LN2946">2946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2947"><td class="num" id="LN2947">2947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2948"><td class="num" id="LN2948">2948</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2949"><td class="num" id="LN2949">2949</td><td class="line">panel_toplevel_initially_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2950"><td class="num" id="LN2950">2950</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2951"><td class="num" id="LN2951">2951</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="2952"><td class="num" id="LN2952">2952</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2953"><td class="num" id="LN2953">2953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2954"><td class="num" id="LN2954">2954</td><td class="line"> <span class='comment'>/* We start the panel off hidden until all the applets are</span></td></tr>
+<tr class="codeline" data-linenumber="2955"><td class="num" id="LN2955">2955</td><td class="line"> <span class='comment'>* loaded, and then finally slide it down when it's ready to be</span></td></tr>
+<tr class="codeline" data-linenumber="2956"><td class="num" id="LN2956">2956</td><td class="line"> <span class='comment'>* used */</span></td></tr>
+<tr class="codeline" data-linenumber="2957"><td class="num" id="LN2957">2957</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="2958"><td class="num" id="LN2958">2958</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2959"><td class="num" id="LN2959">2959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2960"><td class="num" id="LN2960">2960</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2961"><td class="num" id="LN2961">2961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2962"><td class="num" id="LN2962">2962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2963"><td class="num" id="LN2963">2963</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2964"><td class="num" id="LN2964">2964</td><td class="line">set_background_default_style (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2965"><td class="num" id="LN2965">2965</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2966"><td class="num" id="LN2966">2966</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2967"><td class="num" id="LN2967">2967</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2968"><td class="num" id="LN2968">2968</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2969"><td class="num" id="LN2969">2969</td><td class="line"> GdkRGBA *bg_color;</td></tr>
+<tr class="codeline" data-linenumber="2970"><td class="num" id="LN2970">2970</td><td class="line"> cairo_pattern_t *bg_image;</td></tr>
+<tr class="codeline" data-linenumber="2971"><td class="num" id="LN2971">2971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2972"><td class="num" id="LN2972">2972</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="2973"><td class="num" id="LN2973">2973</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2974"><td class="num" id="LN2974">2974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2975"><td class="num" id="LN2975">2975</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2976"><td class="num" id="LN2976">2976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2977"><td class="num" id="LN2977">2977</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2978"><td class="num" id="LN2978">2978</td><td class="line"> state = gtk_style_context_get_state (context);</td></tr>
+<tr class="codeline" data-linenumber="2979"><td class="num" id="LN2979">2979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2980"><td class="num" id="LN2980">2980</td><td class="line"> gtk_style_context_get (context, state,</td></tr>
+<tr class="codeline" data-linenumber="2981"><td class="num" id="LN2981">2981</td><td class="line"> <span class='string_literal'>"background-color"</span>, &amp;bg_color,</td></tr>
+<tr class="codeline" data-linenumber="2982"><td class="num" id="LN2982">2982</td><td class="line"> <span class='string_literal'>"background-image"</span>, &amp;bg_image,</td></tr>
+<tr class="codeline" data-linenumber="2983"><td class="num" id="LN2983">2983</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2984"><td class="num" id="LN2984">2984</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2985"><td class="num" id="LN2985">2985</td><td class="line"> panel_background_set_default_style (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="2986"><td class="num" id="LN2986">2986</td><td class="line"> bg_color, bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2987"><td class="num" id="LN2987">2987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2988"><td class="num" id="LN2988">2988</td><td class="line"> <span class='keyword'>if</span> (bg_color)</td></tr>
+<tr class="codeline" data-linenumber="2989"><td class="num" id="LN2989">2989</td><td class="line"> gdk_rgba_free (bg_color);</td></tr>
+<tr class="codeline" data-linenumber="2990"><td class="num" id="LN2990">2990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2991"><td class="num" id="LN2991">2991</td><td class="line"> <span class='keyword'>if</span> (bg_image)</td></tr>
+<tr class="codeline" data-linenumber="2992"><td class="num" id="LN2992">2992</td><td class="line"> cairo_pattern_destroy (bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2993"><td class="num" id="LN2993">2993</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2994"><td class="num" id="LN2994">2994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2995"><td class="num" id="LN2995">2995</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2996"><td class="num" id="LN2996">2996</td><td class="line">panel_toplevel_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2997"><td class="num" id="LN2997">2997</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2998"><td class="num" id="LN2998">2998</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2999"><td class="num" id="LN2999">2999</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="3000"><td class="num" id="LN3000">3000</td><td class="line"> GdkVisual *visual;</td></tr>
+<tr class="codeline" data-linenumber="3001"><td class="num" id="LN3001">3001</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3002"><td class="num" id="LN3002">3002</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3003"><td class="num" id="LN3003">3003</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3004"><td class="num" id="LN3004">3004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3005"><td class="num" id="LN3005">3005</td><td class="line"> screen = gtk_widget_get_screen (widget);</td></tr>
+<tr class="codeline" data-linenumber="3006"><td class="num" id="LN3006">3006</td><td class="line"> visual = gdk_screen_get_rgba_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3007"><td class="num" id="LN3007">3007</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3008"><td class="num" id="LN3008">3008</td><td class="line"> <span class='keyword'>if</span> (visual == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3009"><td class="num" id="LN3009">3009</td><td class="line"> visual = gdk_screen_get_system_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3010"><td class="num" id="LN3010">3010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3011"><td class="num" id="LN3011">3011</td><td class="line"> gtk_widget_set_visual (widget, visual);</td></tr>
+<tr class="codeline" data-linenumber="3012"><td class="num" id="LN3012">3012</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3013"><td class="num" id="LN3013">3013</td><td class="line"> gtk_window_set_decorated (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3014"><td class="num" id="LN3014">3014</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3015"><td class="num" id="LN3015">3015</td><td class="line"> gtk_window_set_type_hint (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, GDK_WINDOW_TYPE_HINT_DOCK);</td></tr>
+<tr class="codeline" data-linenumber="3016"><td class="num" id="LN3016">3016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3017"><td class="num" id="LN3017">3017</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3018"><td class="num" id="LN3018">3018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3019"><td class="num" id="LN3019">3019</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3020"><td class="num" id="LN3020">3020</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3021"><td class="num" id="LN3021">3021</td><td class="line"> panel_background_realized (&amp;toplevel-&gt;background, window);</td></tr>
+<tr class="codeline" data-linenumber="3022"><td class="num" id="LN3022">3022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3023"><td class="num" id="LN3023">3023</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3024"><td class="num" id="LN3024">3024</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_WINDOW (window)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(window)); GType __t = ((gdk_x11_window_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3025"><td class="num" id="LN3025">3025</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3026"><td class="num" id="LN3026">3026</td><td class="line"> gdk_window_set_geometry_hints (window, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="3027"><td class="num" id="LN3027">3027</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3028"><td class="num" id="LN3028">3028</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3029"><td class="num" id="LN3029">3029</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3030"><td class="num" id="LN3030">3030</td><td class="line"> gdk_window_set_group (window, window);</td></tr>
+<tr class="codeline" data-linenumber="3031"><td class="num" id="LN3031">3031</td><td class="line"> panel_toplevel_initially_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3032"><td class="num" id="LN3032">3032</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3033"><td class="num" id="LN3033">3033</td><td class="line"> panel_toplevel_move_resize_window (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3034"><td class="num" id="LN3034">3034</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3035"><td class="num" id="LN3035">3035</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3036"><td class="num" id="LN3036">3036</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3037"><td class="num" id="LN3037">3037</td><td class="line">panel_toplevel_disconnect_timeouts (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3038"><td class="num" id="LN3038">3038</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3039"><td class="num" id="LN3039">3039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3040"><td class="num" id="LN3040">3040</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3041"><td class="num" id="LN3041">3041</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3042"><td class="num" id="LN3042">3042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3043"><td class="num" id="LN3043">3043</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3044"><td class="num" id="LN3044">3044</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3045"><td class="num" id="LN3045">3045</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3046"><td class="num" id="LN3046">3046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3047"><td class="num" id="LN3047">3047</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3048"><td class="num" id="LN3048">3048</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;animation_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3049"><td class="num" id="LN3049">3049</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3050"><td class="num" id="LN3050">3050</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3051"><td class="num" id="LN3051">3051</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3052"><td class="num" id="LN3052">3052</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3053"><td class="num" id="LN3053">3053</td><td class="line">panel_toplevel_unrealize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3054"><td class="num" id="LN3054">3054</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3055"><td class="num" id="LN3055">3055</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3056"><td class="num" id="LN3056">3056</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3057"><td class="num" id="LN3057">3057</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3058"><td class="num" id="LN3058">3058</td><td class="line"> panel_background_unrealized (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3059"><td class="num" id="LN3059">3059</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;unrealize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3060"><td class="num" id="LN3060">3060</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3061"><td class="num" id="LN3061">3061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3062"><td class="num" id="LN3062">3062</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3063"><td class="num" id="LN3063">3063</td><td class="line">panel_toplevel_dispose (GObject *widget)</td></tr>
+<tr class="codeline" data-linenumber="3064"><td class="num" id="LN3064">3064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3065"><td class="num" id="LN3065">3065</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3066"><td class="num" id="LN3066">3066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3067"><td class="num" id="LN3067">3067</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;settings_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;settings_path<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;settings_path)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;settings_path); __typeof__ (*(&amp;toplevel-&gt;<br>priv-&gt;settings_path)) _ptr = *_pp; *_pp = ((void*)0); if (<br>_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3068"><td class="num" id="LN3068">3068</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3069"><td class="num" id="LN3069">3069</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;settings) {</td></tr>
+<tr class="codeline" data-linenumber="3070"><td class="num" id="LN3070">3070</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;settings)<br>, G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3071"><td class="num" id="LN3071">3071</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;settings)) ==<br> sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;settings))) _pp = ((&amp;toplevel-&gt;settings<br>)); __typeof__ (*((&amp;toplevel-&gt;settings))) _ptr = *_pp;<br> *_pp = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3072"><td class="num" id="LN3072">3072</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3073"><td class="num" id="LN3073">3073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3074"><td class="num" id="LN3074">3074</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;queued_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;queued_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;queued_settings))) _pp = ((&amp;toplevel<br>-&gt;queued_settings)); __typeof__ (*((&amp;toplevel-&gt;queued_settings<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3075"><td class="num" id="LN3075">3075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3076"><td class="num" id="LN3076">3076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;background_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3077"><td class="num" id="LN3077">3077</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;background_settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;background_settings<br>), G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3078"><td class="num" id="LN3078">3078</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;background_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;background_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;background_settings))) _pp = ((&amp;toplevel<br>-&gt;background_settings)); __typeof__ (*((&amp;toplevel-&gt;<br>background_settings))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr<br>) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3079"><td class="num" id="LN3079">3079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3080"><td class="num" id="LN3080">3080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3081"><td class="num" id="LN3081">3081</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3082"><td class="num" id="LN3082">3082</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3083"><td class="num" id="LN3083">3083</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3084"><td class="num" id="LN3084">3084</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3085"><td class="num" id="LN3085">3085</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3086"><td class="num" id="LN3086">3086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3087"><td class="num" id="LN3087">3087</td><td class="line"> panel_background_free (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3088"><td class="num" id="LN3088">3088</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3089"><td class="num" id="LN3089">3089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3090"><td class="num" id="LN3090">3090</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3091"><td class="num" id="LN3091">3091</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3092"><td class="num" id="LN3092">3092</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3093"><td class="num" id="LN3093">3093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3094"><td class="num" id="LN3094">3094</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3095"><td class="num" id="LN3095">3095</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3096"><td class="num" id="LN3096">3096</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3097"><td class="num" id="LN3097">3097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3098"><td class="num" id="LN3098">3098</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;description, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;description<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;description)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;description); __typeof__ (*(&amp;toplevel-&gt;priv<br>-&gt;description)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (<br>g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3099"><td class="num" id="LN3099">3099</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;name, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;name<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;name)) _pp = (&amp;toplevel-&gt;<br>priv-&gt;name); __typeof__ (*(&amp;toplevel-&gt;priv-&gt;name<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3100"><td class="num" id="LN3100">3100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3101"><td class="num" id="LN3101">3101</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3102"><td class="num" id="LN3102">3102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3103"><td class="num" id="LN3103">3103</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;dispose (widget);</td></tr>
+<tr class="codeline" data-linenumber="3104"><td class="num" id="LN3104">3104</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3105"><td class="num" id="LN3105">3105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3106"><td class="num" id="LN3106">3106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3107"><td class="num" id="LN3107">3107</td><td class="line">panel_toplevel_check_resize (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="3108"><td class="num" id="LN3108">3108</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3109"><td class="num" id="LN3109">3109</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3110"><td class="num" id="LN3110">3110</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3111"><td class="num" id="LN3111">3111</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3112"><td class="num" id="LN3112">3112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3113"><td class="num" id="LN3113">3113</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (container)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3114"><td class="num" id="LN3114">3114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3115"><td class="num" id="LN3115">3115</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (widget))</td></tr>
+<tr class="codeline" data-linenumber="3116"><td class="num" id="LN3116">3116</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3117"><td class="num" id="LN3117">3117</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3118"><td class="num" id="LN3118">3118</td><td class="line"> requisition.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3119"><td class="num" id="LN3119">3119</td><td class="line"> requisition.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3120"><td class="num" id="LN3120">3120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3121"><td class="num" id="LN3121">3121</td><td class="line"> gtk_widget_get_preferred_size (widget, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3122"><td class="num" id="LN3122">3122</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3123"><td class="num" id="LN3123">3123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3124"><td class="num" id="LN3124">3124</td><td class="line"> allocation.width = requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3125"><td class="num" id="LN3125">3125</td><td class="line"> allocation.height = requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3126"><td class="num" id="LN3126">3126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3127"><td class="num" id="LN3127">3127</td><td class="line"> gtk_widget_size_allocate (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3128"><td class="num" id="LN3128">3128</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3129"><td class="num" id="LN3129">3129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3130"><td class="num" id="LN3130">3130</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3131"><td class="num" id="LN3131">3131</td><td class="line">panel_toplevel_size_request (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3132"><td class="num" id="LN3132">3132</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="3133"><td class="num" id="LN3133">3133</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3134"><td class="num" id="LN3134">3134</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3135"><td class="num" id="LN3135">3135</td><td class="line"> GtkBin *bin;</td></tr>
+<tr class="codeline" data-linenumber="3136"><td class="num" id="LN3136">3136</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3137"><td class="num" id="LN3137">3137</td><td class="line"> GdkRectangle old_geometry;</td></tr>
+<tr class="codeline" data-linenumber="3138"><td class="num" id="LN3138">3138</td><td class="line"> <span class='keyword'>int</span> position_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3139"><td class="num" id="LN3139">3139</td><td class="line"> <span class='keyword'>int</span> size_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3140"><td class="num" id="LN3140">3140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3141"><td class="num" id="LN3141">3141</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3142"><td class="num" id="LN3142">3142</td><td class="line"> bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3143"><td class="num" id="LN3143">3143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3144"><td class="num" id="LN3144">3144</td><td class="line"> <span class='comment'>/* we get a size request when there are new monitors, so first try to</span></td></tr>
+<tr class="codeline" data-linenumber="3145"><td class="num" id="LN3145">3145</td><td class="line"> <span class='comment'>* see if we need to move to a new monitor */</span></td></tr>
+<tr class="codeline" data-linenumber="3146"><td class="num" id="LN3146">3146</td><td class="line"> panel_toplevel_update_monitor (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3147"><td class="num" id="LN3147">3147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3148"><td class="num" id="LN3148">3148</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3149"><td class="num" id="LN3149">3149</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3150"><td class="num" id="LN3150">3150</td><td class="line"> gtk_widget_get_preferred_size (child, requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3151"><td class="num" id="LN3151">3151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3152"><td class="num" id="LN3152">3152</td><td class="line"> old_geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="3153"><td class="num" id="LN3153">3153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3154"><td class="num" id="LN3154">3154</td><td class="line"> panel_toplevel_update_geometry (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="3155"><td class="num" id="LN3155">3155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3156"><td class="num" id="LN3156">3156</td><td class="line"> requisition-&gt;width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="3157"><td class="num" id="LN3157">3157</td><td class="line"> requisition-&gt;height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="3158"><td class="num" id="LN3158">3158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3159"><td class="num" id="LN3159">3159</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3160"><td class="num" id="LN3160">3160</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3161"><td class="num" id="LN3161">3161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3162"><td class="num" id="LN3162">3162</td><td class="line"> <span class='keyword'>if</span> (old_geometry.width != toplevel-&gt;priv-&gt;geometry.width ||</td></tr>
+<tr class="codeline" data-linenumber="3163"><td class="num" id="LN3163">3163</td><td class="line"> old_geometry.height != toplevel-&gt;priv-&gt;geometry.height)</td></tr>
+<tr class="codeline" data-linenumber="3164"><td class="num" id="LN3164">3164</td><td class="line"> size_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3165"><td class="num" id="LN3165">3165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3166"><td class="num" id="LN3166">3166</td><td class="line"> <span class='keyword'>if</span> (old_geometry.x != toplevel-&gt;priv-&gt;geometry.x ||</td></tr>
+<tr class="codeline" data-linenumber="3167"><td class="num" id="LN3167">3167</td><td class="line"> old_geometry.y != toplevel-&gt;priv-&gt;geometry.y)</td></tr>
+<tr class="codeline" data-linenumber="3168"><td class="num" id="LN3168">3168</td><td class="line"> position_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3169"><td class="num" id="LN3169">3169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3170"><td class="num" id="LN3170">3170</td><td class="line"> panel_toplevel_move_resize_window (toplevel, position_changed, size_changed);</td></tr>
+<tr class="codeline" data-linenumber="3171"><td class="num" id="LN3171">3171</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3172"><td class="num" id="LN3172">3172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3173"><td class="num" id="LN3173">3173</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3174"><td class="num" id="LN3174">3174</td><td class="line">panel_toplevel_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3175"><td class="num" id="LN3175">3175</td><td class="line"> gint *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="3176"><td class="num" id="LN3176">3176</td><td class="line"> gint *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="3177"><td class="num" id="LN3177">3177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3178"><td class="num" id="LN3178">3178</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3179"><td class="num" id="LN3179">3179</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3180"><td class="num" id="LN3180">3180</td><td class="line"> *minimum_width = *natural_width = req.width;</td></tr>
+<tr class="codeline" data-linenumber="3181"><td class="num" id="LN3181">3181</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3182"><td class="num" id="LN3182">3182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3183"><td class="num" id="LN3183">3183</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3184"><td class="num" id="LN3184">3184</td><td class="line">panel_toplevel_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3185"><td class="num" id="LN3185">3185</td><td class="line"> gint *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="3186"><td class="num" id="LN3186">3186</td><td class="line"> gint *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="3187"><td class="num" id="LN3187">3187</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3188"><td class="num" id="LN3188">3188</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3189"><td class="num" id="LN3189">3189</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3190"><td class="num" id="LN3190">3190</td><td class="line"> *minimum_height = *natural_height = req.height;</td></tr>
+<tr class="codeline" data-linenumber="3191"><td class="num" id="LN3191">3191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3192"><td class="num" id="LN3192">3192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3193"><td class="num" id="LN3193">3193</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3194"><td class="num" id="LN3194">3194</td><td class="line">set_background_region (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3195"><td class="num" id="LN3195">3195</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3196"><td class="num" id="LN3196">3196</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3197"><td class="num" id="LN3197">3197</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3198"><td class="num" id="LN3198">3198</td><td class="line"> gint origin_x;</td></tr>
+<tr class="codeline" data-linenumber="3199"><td class="num" id="LN3199">3199</td><td class="line"> gint origin_y;</td></tr>
+<tr class="codeline" data-linenumber="3200"><td class="num" id="LN3200">3200</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3201"><td class="num" id="LN3201">3201</td><td class="line"> GtkOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="3202"><td class="num" id="LN3202">3202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3203"><td class="num" id="LN3203">3203</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3204"><td class="num" id="LN3204">3204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3205"><td class="num" id="LN3205">3205</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3206"><td class="num" id="LN3206">3206</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3207"><td class="num" id="LN3207">3207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3208"><td class="num" id="LN3208">3208</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3209"><td class="num" id="LN3209">3209</td><td class="line"> origin_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3210"><td class="num" id="LN3210">3210</td><td class="line"> origin_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3211"><td class="num" id="LN3211">3211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3212"><td class="num" id="LN3212">3212</td><td class="line"> gdk_window_get_origin (window, &amp;origin_x, &amp;origin_y);</td></tr>
+<tr class="codeline" data-linenumber="3213"><td class="num" id="LN3213">3213</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3214"><td class="num" id="LN3214">3214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3215"><td class="num" id="LN3215">3215</td><td class="line"> orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="3216"><td class="num" id="LN3216">3216</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3217"><td class="num" id="LN3217">3217</td><td class="line"> orientation = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="3218"><td class="num" id="LN3218">3218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3219"><td class="num" id="LN3219">3219</td><td class="line"> panel_background_change_region (&amp;toplevel-&gt;background, orientation,</td></tr>
+<tr class="codeline" data-linenumber="3220"><td class="num" id="LN3220">3220</td><td class="line"> origin_x, origin_y,</td></tr>
+<tr class="codeline" data-linenumber="3221"><td class="num" id="LN3221">3221</td><td class="line"> allocation.width, allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="3222"><td class="num" id="LN3222">3222</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3223"><td class="num" id="LN3223">3223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3224"><td class="num" id="LN3224">3224</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3225"><td class="num" id="LN3225">3225</td><td class="line">panel_toplevel_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3226"><td class="num" id="LN3226">3226</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="3227"><td class="num" id="LN3227">3227</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3228"><td class="num" id="LN3228">3228</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3229"><td class="num" id="LN3229">3229</td><td class="line"> GtkBin *bin = (GtkBin *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3230"><td class="num" id="LN3230">3230</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3231"><td class="num" id="LN3231">3231</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3232"><td class="num" id="LN3232">3232</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3233"><td class="num" id="LN3233">3233</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3234"><td class="num" id="LN3234">3234</td><td class="line"> GtkAllocation challoc;</td></tr>
+<tr class="codeline" data-linenumber="3235"><td class="num" id="LN3235">3235</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="3236"><td class="num" id="LN3236">3236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3237"><td class="num" id="LN3237">3237</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="3238"><td class="num" id="LN3238">3238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3239"><td class="num" id="LN3239">3239</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3240"><td class="num" id="LN3240">3240</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3241"><td class="num" id="LN3241">3241</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3242"><td class="num" id="LN3242">3242</td><td class="line"> challoc = *allocation;</td></tr>
+<tr class="codeline" data-linenumber="3243"><td class="num" id="LN3243">3243</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3244"><td class="num" id="LN3244">3244</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3245"><td class="num" id="LN3245">3245</td><td class="line"> challoc.x = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3246"><td class="num" id="LN3246">3246</td><td class="line"> challoc.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3247"><td class="num" id="LN3247">3247</td><td class="line"> challoc.width = allocation-&gt;width - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3248"><td class="num" id="LN3248">3248</td><td class="line"> challoc.height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="3249"><td class="num" id="LN3249">3249</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3250"><td class="num" id="LN3250">3250</td><td class="line"> challoc.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3251"><td class="num" id="LN3251">3251</td><td class="line"> challoc.y = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3252"><td class="num" id="LN3252">3252</td><td class="line"> challoc.width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="3253"><td class="num" id="LN3253">3253</td><td class="line"> challoc.height = allocation-&gt;height - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3254"><td class="num" id="LN3254">3254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3255"><td class="num" id="LN3255">3255</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3256"><td class="num" id="LN3256">3256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3257"><td class="num" id="LN3257">3257</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3258"><td class="num" id="LN3258">3258</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3259"><td class="num" id="LN3259">3259</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3260"><td class="num" id="LN3260">3260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3261"><td class="num" id="LN3261">3261</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3262"><td class="num" id="LN3262">3262</td><td class="line"> challoc.y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3263"><td class="num" id="LN3263">3263</td><td class="line"> challoc.height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3264"><td class="num" id="LN3264">3264</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3265"><td class="num" id="LN3265">3265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3266"><td class="num" id="LN3266">3266</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3267"><td class="num" id="LN3267">3267</td><td class="line"> challoc.x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3268"><td class="num" id="LN3268">3268</td><td class="line"> challoc.width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3269"><td class="num" id="LN3269">3269</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3270"><td class="num" id="LN3270">3270</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3271"><td class="num" id="LN3271">3271</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3272"><td class="num" id="LN3272">3272</td><td class="line"> challoc.height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3273"><td class="num" id="LN3273">3273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3274"><td class="num" id="LN3274">3274</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3275"><td class="num" id="LN3275">3275</td><td class="line"> challoc.width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3276"><td class="num" id="LN3276">3276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3277"><td class="num" id="LN3277">3277</td><td class="line"> challoc.width = <span class='macro'>MAX (1, challoc.width)<span class='macro_popup'>(((1) &gt; (challoc.width)) ? (1) : (challoc.width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3278"><td class="num" id="LN3278">3278</td><td class="line"> challoc.height = <span class='macro'>MAX (1, challoc.height)<span class='macro_popup'>(((1) &gt; (challoc.height)) ? (1) : (challoc.height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3279"><td class="num" id="LN3279">3279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3280"><td class="num" id="LN3280">3280</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3281"><td class="num" id="LN3281">3281</td><td class="line"> gtk_widget_get_allocation (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="3282"><td class="num" id="LN3282">3282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3283"><td class="num" id="LN3283">3283</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_mapped (widget) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3284"><td class="num" id="LN3284">3284</td><td class="line"> (challoc.x != child_allocation.x ||</td></tr>
+<tr class="codeline" data-linenumber="3285"><td class="num" id="LN3285">3285</td><td class="line"> challoc.y != child_allocation.y ||</td></tr>
+<tr class="codeline" data-linenumber="3286"><td class="num" id="LN3286">3286</td><td class="line"> challoc.width != child_allocation.width ||</td></tr>
+<tr class="codeline" data-linenumber="3287"><td class="num" id="LN3287">3287</td><td class="line"> challoc.height != child_allocation.height)) {</td></tr>
+<tr class="codeline" data-linenumber="3288"><td class="num" id="LN3288">3288</td><td class="line"> GtkAllocation allocation_to_invalidate;</td></tr>
+<tr class="codeline" data-linenumber="3289"><td class="num" id="LN3289">3289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3290"><td class="num" id="LN3290">3290</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation_to_invalidate);</td></tr>
+<tr class="codeline" data-linenumber="3291"><td class="num" id="LN3291">3291</td><td class="line"> gdk_window_invalidate_rect (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="3292"><td class="num" id="LN3292">3292</td><td class="line"> &amp;allocation_to_invalidate, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3293"><td class="num" id="LN3293">3293</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3294"><td class="num" id="LN3294">3294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3295"><td class="num" id="LN3295">3295</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3296"><td class="num" id="LN3296">3296</td><td class="line"> gtk_widget_size_allocate (child, &amp;challoc);</td></tr>
+<tr class="codeline" data-linenumber="3297"><td class="num" id="LN3297">3297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3298"><td class="num" id="LN3298">3298</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3299"><td class="num" id="LN3299">3299</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3300"><td class="num" id="LN3300">3300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3301"><td class="num" id="LN3301">3301</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="3302"><td class="num" id="LN3302">3302</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3303"><td class="num" id="LN3303">3303</td><td class="line"> PanelToplevel* toplevel = (PanelToplevel*) widget;</td></tr>
+<tr class="codeline" data-linenumber="3304"><td class="num" id="LN3304">3304</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="3305"><td class="num" id="LN3305">3305</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3306"><td class="num" id="LN3306">3306</td><td class="line"> <span class='keyword'>int</span> awidth;</td></tr>
+<tr class="codeline" data-linenumber="3307"><td class="num" id="LN3307">3307</td><td class="line"> <span class='keyword'>int</span> aheight;</td></tr>
+<tr class="codeline" data-linenumber="3308"><td class="num" id="LN3308">3308</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3309"><td class="num" id="LN3309">3309</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3310"><td class="num" id="LN3310">3310</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3311"><td class="num" id="LN3311">3311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3312"><td class="num" id="LN3312">3312</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_drawable (widget))</td></tr>
+<tr class="codeline" data-linenumber="3313"><td class="num" id="LN3313">3313</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3314"><td class="num" id="LN3314">3314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3315"><td class="num" id="LN3315">3315</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw)</td></tr>
+<tr class="codeline" data-linenumber="3316"><td class="num" id="LN3316">3316</td><td class="line"> retval = <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw (widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="3317"><td class="num" id="LN3317">3317</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3318"><td class="num" id="LN3318">3318</td><td class="line"> edges = toplevel-&gt;priv-&gt;edges;</td></tr>
+<tr class="codeline" data-linenumber="3319"><td class="num" id="LN3319">3319</td><td class="line"> panel_frame_draw (widget, cr, edges);</td></tr>
+<tr class="codeline" data-linenumber="3320"><td class="num" id="LN3320">3320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3321"><td class="num" id="LN3321">3321</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3322"><td class="num" id="LN3322">3322</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3323"><td class="num" id="LN3323">3323</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3324"><td class="num" id="LN3324">3324</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3325"><td class="num" id="LN3325">3325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3326"><td class="num" id="LN3326">3326</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3327"><td class="num" id="LN3327">3327</td><td class="line"> awidth = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="3328"><td class="num" id="LN3328">3328</td><td class="line"> aheight = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="3329"><td class="num" id="LN3329">3329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3330"><td class="num" id="LN3330">3330</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3331"><td class="num" id="LN3331">3331</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3332"><td class="num" id="LN3332">3332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3333"><td class="num" id="LN3333">3333</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="3334"><td class="num" id="LN3334">3334</td><td class="line"> gtk_style_context_set_state (context, state);</td></tr>
+<tr class="codeline" data-linenumber="3335"><td class="num" id="LN3335">3335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3336"><td class="num" id="LN3336">3336</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3337"><td class="num" id="LN3337">3337</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3338"><td class="num" id="LN3338">3338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3339"><td class="num" id="LN3339">3339</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3340"><td class="num" id="LN3340">3340</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3341"><td class="num" id="LN3341">3341</td><td class="line"> height = aheight;</td></tr>
+<tr class="codeline" data-linenumber="3342"><td class="num" id="LN3342">3342</td><td class="line"> width = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3343"><td class="num" id="LN3343">3343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3344"><td class="num" id="LN3344">3344</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3345"><td class="num" id="LN3345">3345</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3346"><td class="num" id="LN3346">3346</td><td class="line"> height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3347"><td class="num" id="LN3347">3347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3348"><td class="num" id="LN3348">3348</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3349"><td class="num" id="LN3349">3349</td><td class="line"> height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3350"><td class="num" id="LN3350">3350</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="3351"><td class="num" id="LN3351">3351</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3352"><td class="num" id="LN3352">3352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3353"><td class="num" id="LN3353">3353</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3354"><td class="num" id="LN3354">3354</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3355"><td class="num" id="LN3355">3355</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3356"><td class="num" id="LN3356">3356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3357"><td class="num" id="LN3357">3357</td><td class="line"> x = awidth - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3358"><td class="num" id="LN3358">3358</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3359"><td class="num" id="LN3359">3359</td><td class="line"> x -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3360"><td class="num" id="LN3360">3360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3361"><td class="num" id="LN3361">3361</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3362"><td class="num" id="LN3362">3362</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3363"><td class="num" id="LN3363">3363</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3364"><td class="num" id="LN3364">3364</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3365"><td class="num" id="LN3365">3365</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3366"><td class="num" id="LN3366">3366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3367"><td class="num" id="LN3367">3367</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3368"><td class="num" id="LN3368">3368</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3369"><td class="num" id="LN3369">3369</td><td class="line"> width = awidth;</td></tr>
+<tr class="codeline" data-linenumber="3370"><td class="num" id="LN3370">3370</td><td class="line"> height = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3371"><td class="num" id="LN3371">3371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3372"><td class="num" id="LN3372">3372</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3373"><td class="num" id="LN3373">3373</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3374"><td class="num" id="LN3374">3374</td><td class="line"> width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3375"><td class="num" id="LN3375">3375</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3376"><td class="num" id="LN3376">3376</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3377"><td class="num" id="LN3377">3377</td><td class="line"> width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3378"><td class="num" id="LN3378">3378</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="3379"><td class="num" id="LN3379">3379</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3380"><td class="num" id="LN3380">3380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3381"><td class="num" id="LN3381">3381</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3382"><td class="num" id="LN3382">3382</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3383"><td class="num" id="LN3383">3383</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3384"><td class="num" id="LN3384">3384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3385"><td class="num" id="LN3385">3385</td><td class="line"> y = aheight - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3386"><td class="num" id="LN3386">3386</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3387"><td class="num" id="LN3387">3387</td><td class="line"> y -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3388"><td class="num" id="LN3388">3388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3389"><td class="num" id="LN3389">3389</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3390"><td class="num" id="LN3390">3390</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3391"><td class="num" id="LN3391">3391</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3392"><td class="num" id="LN3392">3392</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3393"><td class="num" id="LN3393">3393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3394"><td class="num" id="LN3394">3394</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="3395"><td class="num" id="LN3395">3395</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3396"><td class="num" id="LN3396">3396</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3397"><td class="num" id="LN3397">3397</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3398"><td class="num" id="LN3398">3398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3399"><td class="num" id="LN3399">3399</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3400"><td class="num" id="LN3400">3400</td><td class="line">panel_toplevel_button_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3401"><td class="num" id="LN3401">3401</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3402"><td class="num" id="LN3402">3402</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3403"><td class="num" id="LN3403">3403</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3404"><td class="num" id="LN3404">3404</td><td class="line"> GtkWidget *event_widget;</td></tr>
+<tr class="codeline" data-linenumber="3405"><td class="num" id="LN3405">3405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3406"><td class="num" id="LN3406">3406</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3407"><td class="num" id="LN3407">3407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3408"><td class="num" id="LN3408">3408</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3409"><td class="num" id="LN3409">3409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3410"><td class="num" id="LN3410">3410</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3411"><td class="num" id="LN3411">3411</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3412"><td class="num" id="LN3412">3412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3413"><td class="num" id="LN3413">3413</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3414"><td class="num" id="LN3414">3414</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3415"><td class="num" id="LN3415">3415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3416"><td class="num" id="LN3416">3416</td><td class="line"> <span class='comment'>/* Get the mouse-button modifier from marco so that only intentional</span></td></tr>
+<tr class="codeline" data-linenumber="3417"><td class="num" id="LN3417">3417</td><td class="line"> <span class='comment'>* moves are considered. We don't this for non-expanded panels since we</span></td></tr>
+<tr class="codeline" data-linenumber="3418"><td class="num" id="LN3418">3418</td><td class="line"> <span class='comment'>* only have the handles that the user can grab. */</span></td></tr>
+<tr class="codeline" data-linenumber="3419"><td class="num" id="LN3419">3419</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;expand || toplevel-&gt;priv-&gt;attached) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3420"><td class="num" id="LN3420">3420</td><td class="line"> (event-&gt;state &amp; GDK_MODIFIER_MASK) != panel_bindings_get_mouse_button_modifier_keymask ())</td></tr>
+<tr class="codeline" data-linenumber="3421"><td class="num" id="LN3421">3421</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3422"><td class="num" id="LN3422">3422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3423"><td class="num" id="LN3423">3423</td><td class="line"> gdk_window_get_user_data (event-&gt;window, (gpointer)&amp;event_widget);</td></tr>
+<tr class="codeline" data-linenumber="3424"><td class="num" id="LN3424">3424</td><td class="line"> <span class='macro'>g_assert (GTK_IS_WIDGET (event_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((event_widget)); GType __t = ((gtk_widget_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 3424<br>, ((const char*) (__func__)), "GTK_IS_WIDGET (event_widget)")<br>; } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3425"><td class="num" id="LN3425">3425</td><td class="line"> gtk_widget_translate_coordinates (event_widget,</td></tr>
+<tr class="codeline" data-linenumber="3426"><td class="num" id="LN3426">3426</td><td class="line"> widget,</td></tr>
+<tr class="codeline" data-linenumber="3427"><td class="num" id="LN3427">3427</td><td class="line"> event-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="3428"><td class="num" id="LN3428">3428</td><td class="line"> event-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="3429"><td class="num" id="LN3429">3429</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="3430"><td class="num" id="LN3430">3430</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_y);</td></tr>
+<tr class="codeline" data-linenumber="3431"><td class="num" id="LN3431">3431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3432"><td class="num" id="LN3432">3432</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3433"><td class="num" id="LN3433">3433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3434"><td class="num" id="LN3434">3434</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3435"><td class="num" id="LN3435">3435</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3436"><td class="num" id="LN3436">3436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3437"><td class="num" id="LN3437">3437</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3438"><td class="num" id="LN3438">3438</td><td class="line">panel_toplevel_button_release_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3439"><td class="num" id="LN3439">3439</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3440"><td class="num" id="LN3440">3440</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3441"><td class="num" id="LN3441">3441</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3442"><td class="num" id="LN3442">3442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3443"><td class="num" id="LN3443">3443</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3444"><td class="num" id="LN3444">3444</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3445"><td class="num" id="LN3445">3445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3446"><td class="num" id="LN3446">3446</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3447"><td class="num" id="LN3447">3447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3448"><td class="num" id="LN3448">3448</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="3449"><td class="num" id="LN3449">3449</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3450"><td class="num" id="LN3450">3450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3451"><td class="num" id="LN3451">3451</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="3452"><td class="num" id="LN3452">3452</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3453"><td class="num" id="LN3453">3453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3454"><td class="num" id="LN3454">3454</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3455"><td class="num" id="LN3455">3455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3456"><td class="num" id="LN3456">3456</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3457"><td class="num" id="LN3457">3457</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3458"><td class="num" id="LN3458">3458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3459"><td class="num" id="LN3459">3459</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3460"><td class="num" id="LN3460">3460</td><td class="line">panel_toplevel_configure_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3461"><td class="num" id="LN3461">3461</td><td class="line"> GdkEventConfigure *event)</td></tr>
+<tr class="codeline" data-linenumber="3462"><td class="num" id="LN3462">3462</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3463"><td class="num" id="LN3463">3463</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3464"><td class="num" id="LN3464">3464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3465"><td class="num" id="LN3465">3465</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3466"><td class="num" id="LN3466">3466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3467"><td class="num" id="LN3467">3467</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3468"><td class="num" id="LN3468">3468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3469"><td class="num" id="LN3469">3469</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3470"><td class="num" id="LN3470">3470</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3471"><td class="num" id="LN3471">3471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3472"><td class="num" id="LN3472">3472</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3473"><td class="num" id="LN3473">3473</td><td class="line">panel_toplevel_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3474"><td class="num" id="LN3474">3474</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="3475"><td class="num" id="LN3475">3475</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3476"><td class="num" id="LN3476">3476</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3477"><td class="num" id="LN3477">3477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3478"><td class="num" id="LN3478">3478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3479"><td class="num" id="LN3479">3479</td><td class="line"> panel_toplevel_handle_grab_op_key_event (toplevel, event))</td></tr>
+<tr class="codeline" data-linenumber="3480"><td class="num" id="LN3480">3480</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3481"><td class="num" id="LN3481">3481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3482"><td class="num" id="LN3482">3482</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event)</td></tr>
+<tr class="codeline" data-linenumber="3483"><td class="num" id="LN3483">3483</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3484"><td class="num" id="LN3484">3484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3485"><td class="num" id="LN3485">3485</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3486"><td class="num" id="LN3486">3486</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3487"><td class="num" id="LN3487">3487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3488"><td class="num" id="LN3488">3488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3489"><td class="num" id="LN3489">3489</td><td class="line">panel_toplevel_state_flags_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3490"><td class="num" id="LN3490">3490</td><td class="line"> GtkStateFlags previous_state)</td></tr>
+<tr class="codeline" data-linenumber="3491"><td class="num" id="LN3491">3491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3492"><td class="num" id="LN3492">3492</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;state_flags_changed (widget,</td></tr>
+<tr class="codeline" data-linenumber="3493"><td class="num" id="LN3493">3493</td><td class="line"> previous_state);</td></tr>
+<tr class="codeline" data-linenumber="3494"><td class="num" id="LN3494">3494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3495"><td class="num" id="LN3495">3495</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3496"><td class="num" id="LN3496">3496</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3497"><td class="num" id="LN3497">3497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3498"><td class="num" id="LN3498">3498</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3499"><td class="num" id="LN3499">3499</td><td class="line">panel_toplevel_motion_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3500"><td class="num" id="LN3500">3500</td><td class="line"> GdkEventMotion *event)</td></tr>
+<tr class="codeline" data-linenumber="3501"><td class="num" id="LN3501">3501</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3502"><td class="num" id="LN3502">3502</td><td class="line"> <span class='keyword'>if</span> (gdk_event_get_screen ((GdkEvent *)event) ==</td></tr>
+<tr class="codeline" data-linenumber="3503"><td class="num" id="LN3503">3503</td><td class="line"> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3504"><td class="num" id="LN3504">3504</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_handle_grab_op_motion_event (</td></tr>
+<tr class="codeline" data-linenumber="3505"><td class="num" id="LN3505">3505</td><td class="line"> <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>, event);</td></tr>
+<tr class="codeline" data-linenumber="3506"><td class="num" id="LN3506">3506</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3507"><td class="num" id="LN3507">3507</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3508"><td class="num" id="LN3508">3508</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3509"><td class="num" id="LN3509">3509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3510"><td class="num" id="LN3510">3510</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3511"><td class="num" id="LN3511">3511</td><td class="line">panel_toplevel_animation_timeout (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3512"><td class="num" id="LN3512">3512</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3513"><td class="num" id="LN3513">3513</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3514"><td class="num" id="LN3514">3514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3515"><td class="num" id="LN3515">3515</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="3516"><td class="num" id="LN3516">3516</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3517"><td class="num" id="LN3517">3517</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3518"><td class="num" id="LN3518">3518</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3519"><td class="num" id="LN3519">3519</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3520"><td class="num" id="LN3520">3520</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3521"><td class="num" id="LN3521">3521</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3522"><td class="num" id="LN3522">3522</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3523"><td class="num" id="LN3523">3523</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3524"><td class="num" id="LN3524">3524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3525"><td class="num" id="LN3525">3525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3526"><td class="num" id="LN3526">3526</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animating;</td></tr>
+<tr class="codeline" data-linenumber="3527"><td class="num" id="LN3527">3527</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3528"><td class="num" id="LN3528">3528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3529"><td class="num" id="LN3529">3529</td><td class="line"><span class='keyword'>static</span> GTimeSpan</td></tr>
+<tr class="codeline" data-linenumber="3530"><td class="num" id="LN3530">3530</td><td class="line">panel_toplevel_get_animation_time (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3531"><td class="num" id="LN3531">3531</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3532"><td class="num" id="LN3532">3532</td><td class="line"> <span class='comment'>/* The number of seconds to complete the animation.</span></td></tr>
+<tr class="codeline" data-linenumber="3533"><td class="num" id="LN3533">3533</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3534"><td class="num" id="LN3534">3534</td><td class="line"><span class='directive'>#define ANIMATION_TIME_FAST 400</span></td></tr>
+<tr class="codeline" data-linenumber="3535"><td class="num" id="LN3535">3535</td><td class="line"><span class='directive'>#define ANIMATION_TIME_MEDIUM 1200</span></td></tr>
+<tr class="codeline" data-linenumber="3536"><td class="num" id="LN3536">3536</td><td class="line"><span class='directive'>#define ANIMATION_TIME_SLOW 2000</span></td></tr>
+<tr class="codeline" data-linenumber="3537"><td class="num" id="LN3537">3537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3538"><td class="num" id="LN3538">3538</td><td class="line"> GTimeSpan t;</td></tr>
+<tr class="codeline" data-linenumber="3539"><td class="num" id="LN3539">3539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3540"><td class="num" id="LN3540">3540</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;animation_speed) {</td></tr>
+<tr class="codeline" data-linenumber="3541"><td class="num" id="LN3541">3541</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_SLOW:</td></tr>
+<tr class="codeline" data-linenumber="3542"><td class="num" id="LN3542">3542</td><td class="line"> t = ANIMATION_TIME_SLOW * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3543"><td class="num" id="LN3543">3543</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3544"><td class="num" id="LN3544">3544</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_MEDIUM:</td></tr>
+<tr class="codeline" data-linenumber="3545"><td class="num" id="LN3545">3545</td><td class="line"> t = ANIMATION_TIME_MEDIUM * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3546"><td class="num" id="LN3546">3546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3547"><td class="num" id="LN3547">3547</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_FAST:</td></tr>
+<tr class="codeline" data-linenumber="3548"><td class="num" id="LN3548">3548</td><td class="line"> t = ANIMATION_TIME_FAST * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3549"><td class="num" id="LN3549">3549</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3550"><td class="num" id="LN3550">3550</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3551"><td class="num" id="LN3551">3551</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3551, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3552"><td class="num" id="LN3552">3552</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3553"><td class="num" id="LN3553">3553</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3554"><td class="num" id="LN3554">3554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3555"><td class="num" id="LN3555">3555</td><td class="line"> <span class='keyword'>return</span> t;</td></tr>
+<tr class="codeline" data-linenumber="3556"><td class="num" id="LN3556">3556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3557"><td class="num" id="LN3557">3557</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_FAST</span></td></tr>
+<tr class="codeline" data-linenumber="3558"><td class="num" id="LN3558">3558</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_MEDIUM</span></td></tr>
+<tr class="codeline" data-linenumber="3559"><td class="num" id="LN3559">3559</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_SLOW</span></td></tr>
+<tr class="codeline" data-linenumber="3560"><td class="num" id="LN3560">3560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3561"><td class="num" id="LN3561">3561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3562"><td class="num" id="LN3562">3562</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3563"><td class="num" id="LN3563">3563</td><td class="line">panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3564"><td class="num" id="LN3564">3564</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3565"><td class="num" id="LN3565">3565</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="3566"><td class="num" id="LN3566">3566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3567"><td class="num" id="LN3567">3567</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="3568"><td class="num" id="LN3568">3568</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="3569"><td class="num" id="LN3569">3569</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3570"><td class="num" id="LN3570">3570</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3571"><td class="num" id="LN3571">3571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3572"><td class="num" id="LN3572">3572</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="3573"><td class="num" id="LN3573">3573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3574"><td class="num" id="LN3574">3574</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="3575"><td class="num" id="LN3575">3575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3576"><td class="num" id="LN3576">3576</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="3577"><td class="num" id="LN3577">3577</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x =</td></tr>
+<tr class="codeline" data-linenumber="3578"><td class="num" id="LN3578">3578</td><td class="line"> (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3579"><td class="num" id="LN3579">3579</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="3580"><td class="num" id="LN3580">3580</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y =</td></tr>
+<tr class="codeline" data-linenumber="3581"><td class="num" id="LN3581">3581</td><td class="line"> (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3582"><td class="num" id="LN3582">3582</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3583"><td class="num" id="LN3583">3583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3584"><td class="num" id="LN3584">3584</td><td class="line"> <span class='comment'>/* we consider the toplevels which are in the initial animation stage</span></td></tr>
+<tr class="codeline" data-linenumber="3585"><td class="num" id="LN3585">3585</td><td class="line"> <span class='comment'>* as in a normal state */</span></td></tr>
+<tr class="codeline" data-linenumber="3586"><td class="num" id="LN3586">3586</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="3587"><td class="num" id="LN3587">3587</td><td class="line"> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3588"><td class="num" id="LN3588">3588</td><td class="line"> !toplevel-&gt;priv-&gt;auto_hide))</td></tr>
+<tr class="codeline" data-linenumber="3589"><td class="num" id="LN3589">3589</td><td class="line"> panel_toplevel_update_normal_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3590"><td class="num" id="LN3590">3590</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3591"><td class="num" id="LN3591">3591</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3592"><td class="num" id="LN3592">3592</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3593"><td class="num" id="LN3593">3593</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3594"><td class="num" id="LN3594">3594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3595"><td class="num" id="LN3595">3595</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3596"><td class="num" id="LN3596">3596</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3597"><td class="num" id="LN3597">3597</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3598"><td class="num" id="LN3598">3598</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3599"><td class="num" id="LN3599">3599</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3600"><td class="num" id="LN3600">3600</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="3601"><td class="num" id="LN3601">3601</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3602"><td class="num" id="LN3602">3602</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3603"><td class="num" id="LN3603">3603</td><td class="line"> panel_toplevel_update_hidden_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3604"><td class="num" id="LN3604">3604</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3605"><td class="num" id="LN3605">3605</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3606"><td class="num" id="LN3606">3606</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3607"><td class="num" id="LN3607">3607</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3608"><td class="num" id="LN3608">3608</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3609"><td class="num" id="LN3609">3609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3610"><td class="num" id="LN3610">3610</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3611"><td class="num" id="LN3611">3611</td><td class="line">panel_toplevel_start_animation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3612"><td class="num" id="LN3612">3612</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3613"><td class="num" id="LN3613">3613</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3614"><td class="num" id="LN3614">3614</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="3615"><td class="num" id="LN3615">3615</td><td class="line"> <span class='keyword'>int</span> cur_x = -1, cur_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3616"><td class="num" id="LN3616">3616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3617"><td class="num" id="LN3617">3617</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3618"><td class="num" id="LN3618">3618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3619"><td class="num" id="LN3619">3619</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3620"><td class="num" id="LN3620">3620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3621"><td class="num" id="LN3621">3621</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3622"><td class="num" id="LN3622">3622</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3623"><td class="num" id="LN3623">3623</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3624"><td class="num" id="LN3624">3624</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3625"><td class="num" id="LN3625">3625</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3626"><td class="num" id="LN3626">3626</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3627"><td class="num" id="LN3627">3627</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3628"><td class="num" id="LN3628">3628</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3629"><td class="num" id="LN3629">3629</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3630"><td class="num" id="LN3630">3630</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3631"><td class="num" id="LN3631">3631</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3632"><td class="num" id="LN3632">3632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3633"><td class="num" id="LN3633">3633</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>), &amp;cur_x, &amp;cur_y);</td></tr>
+<tr class="codeline" data-linenumber="3634"><td class="num" id="LN3634">3634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3635"><td class="num" id="LN3635">3635</td><td class="line"> cur_x -= panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3636"><td class="num" id="LN3636">3636</td><td class="line"> cur_y -= panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3637"><td class="num" id="LN3637">3637</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3638"><td class="num" id="LN3638">3638</td><td class="line"> deltax = toplevel-&gt;priv-&gt;animation_end_x - cur_x;</td></tr>
+<tr class="codeline" data-linenumber="3639"><td class="num" id="LN3639">3639</td><td class="line"> deltay = toplevel-&gt;priv-&gt;animation_end_y - cur_y;</td></tr>
+<tr class="codeline" data-linenumber="3640"><td class="num" id="LN3640">3640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3641"><td class="num" id="LN3641">3641</td><td class="line"> gtk_widget_get_preferred_size (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3642"><td class="num" id="LN3642">3642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3643"><td class="num" id="LN3643">3643</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="3644"><td class="num" id="LN3644">3644</td><td class="line"> deltaw = toplevel-&gt;priv-&gt;animation_end_width - requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3645"><td class="num" id="LN3645">3645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3646"><td class="num" id="LN3646">3646</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="3647"><td class="num" id="LN3647">3647</td><td class="line"> deltah = toplevel-&gt;priv-&gt;animation_end_height - requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3648"><td class="num" id="LN3648">3648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3649"><td class="num" id="LN3649">3649</td><td class="line"> <span class='keyword'>if</span> (deltax == 0 &amp;&amp; deltay == 0 &amp;&amp; deltaw == 0 &amp;&amp; deltah == 0) {</td></tr>
+<tr class="codeline" data-linenumber="3650"><td class="num" id="LN3650">3650</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3651"><td class="num" id="LN3651">3651</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3652"><td class="num" id="LN3652">3652</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3653"><td class="num" id="LN3653">3653</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3654"><td class="num" id="LN3654">3654</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3655"><td class="num" id="LN3655">3655</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3656"><td class="num" id="LN3656">3656</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3657"><td class="num" id="LN3657">3657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3658"><td class="num" id="LN3658">3658</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3659"><td class="num" id="LN3659">3659</td><td class="line"> <span class='comment'>/* Re-map unmapped attached toplevels */</span></td></tr>
+<tr class="codeline" data-linenumber="3660"><td class="num" id="LN3660">3660</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3661"><td class="num" id="LN3661">3661</td><td class="line"> gtk_widget_set_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3662"><td class="num" id="LN3662">3662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3663"><td class="num" id="LN3663">3663</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_mapped (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3664"><td class="num" id="LN3664">3664</td><td class="line"> gtk_widget_map (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3665"><td class="num" id="LN3665">3665</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3666"><td class="num" id="LN3666">3666</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_window_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3667"><td class="num" id="LN3667">3667</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3668"><td class="num" id="LN3668">3668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3669"><td class="num" id="LN3669">3669</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = g_get_monotonic_time ();</td></tr>
+<tr class="codeline" data-linenumber="3670"><td class="num" id="LN3670">3670</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = panel_toplevel_get_animation_time (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3671"><td class="num" id="LN3671">3671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3672"><td class="num" id="LN3672">3672</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3673"><td class="num" id="LN3673">3673</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3674"><td class="num" id="LN3674">3674</td><td class="line"> g_timeout_add (20, (GSourceFunc) panel_toplevel_animation_timeout, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3675"><td class="num" id="LN3675">3675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3676"><td class="num" id="LN3676">3676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3677"><td class="num" id="LN3677">3677</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3678"><td class="num" id="LN3678">3678</td><td class="line">panel_toplevel_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3679"><td class="num" id="LN3679">3679</td><td class="line"> gboolean auto_hide,</td></tr>
+<tr class="codeline" data-linenumber="3680"><td class="num" id="LN3680">3680</td><td class="line"> gint direction)</td></tr>
+<tr class="codeline" data-linenumber="3681"><td class="num" id="LN3681">3681</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3682"><td class="num" id="LN3682">3682</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3683"><td class="num" id="LN3683">3683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3684"><td class="num" id="LN3684">3684</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3685"><td class="num" id="LN3685">3685</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3686"><td class="num" id="LN3686">3686</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3687"><td class="num" id="LN3687">3687</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [HIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3688"><td class="num" id="LN3688">3688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3689"><td class="num" id="LN3689">3689</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3690"><td class="num" id="LN3690">3690</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3691"><td class="num" id="LN3691">3691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3692"><td class="num" id="LN3692">3692</td><td class="line"> <span class='keyword'>if</span> (auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3693"><td class="num" id="LN3693">3693</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="3694"><td class="num" id="LN3694">3694</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3695"><td class="num" id="LN3695">3695</td><td class="line"> GtkDirectionType hide_direction;</td></tr>
+<tr class="codeline" data-linenumber="3696"><td class="num" id="LN3696">3696</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3697"><td class="num" id="LN3697">3697</td><td class="line"> <span class='keyword'>if</span> (direction == -1) {</td></tr>
+<tr class="codeline" data-linenumber="3698"><td class="num" id="LN3698">3698</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3699"><td class="num" id="LN3699">3699</td><td class="line"> hide_direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="3700"><td class="num" id="LN3700">3700</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3701"><td class="num" id="LN3701">3701</td><td class="line"> hide_direction = GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3702"><td class="num" id="LN3702">3702</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3703"><td class="num" id="LN3703">3703</td><td class="line"> hide_direction = (GtkDirectionType) direction;</td></tr>
+<tr class="codeline" data-linenumber="3704"><td class="num" id="LN3704">3704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3705"><td class="num" id="LN3705">3705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3706"><td class="num" id="LN3706">3706</td><td class="line"> <span class='keyword'>switch</span> (hide_direction) {</td></tr>
+<tr class="codeline" data-linenumber="3707"><td class="num" id="LN3707">3707</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_UP:</td></tr>
+<tr class="codeline" data-linenumber="3708"><td class="num" id="LN3708">3708</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3709"><td class="num" id="LN3709">3709</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="3710"><td class="num" id="LN3710">3710</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3711"><td class="num" id="LN3711">3711</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="3712"><td class="num" id="LN3712">3712</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3713"><td class="num" id="LN3713">3713</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="3714"><td class="num" id="LN3714">3714</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3715"><td class="num" id="LN3715">3715</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="3716"><td class="num" id="LN3716">3716</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3717"><td class="num" id="LN3717">3717</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3718"><td class="num" id="LN3718">3718</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3719"><td class="num" id="LN3719">3719</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="3720"><td class="num" id="LN3720">3720</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3721"><td class="num" id="LN3721">3721</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="3722"><td class="num" id="LN3722">3722</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3723"><td class="num" id="LN3723">3723</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3724"><td class="num" id="LN3724">3724</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3724, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3725"><td class="num" id="LN3725">3725</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3726"><td class="num" id="LN3726">3726</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3727"><td class="num" id="LN3727">3727</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3728"><td class="num" id="LN3728">3728</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3729"><td class="num" id="LN3729">3729</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3730"><td class="num" id="LN3730">3730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3731"><td class="num" id="LN3731">3731</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3732"><td class="num" id="LN3732">3732</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3733"><td class="num" id="LN3733">3733</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3734"><td class="num" id="LN3734">3734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3735"><td class="num" id="LN3735">3735</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), hide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3736"><td class="num" id="LN3736">3736</td><td class="line"> <span class='comment'>* this hides the hide button properly as well */</span></td></tr>
+<tr class="codeline" data-linenumber="3737"><td class="num" id="LN3737">3737</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3738"><td class="num" id="LN3738">3738</td><td class="line"> gtk_widget_hide (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3739"><td class="num" id="LN3739">3739</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3740"><td class="num" id="LN3740">3740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3741"><td class="num" id="LN3741">3741</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3742"><td class="num" id="LN3742">3742</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3743"><td class="num" id="LN3743">3743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3744"><td class="num" id="LN3744">3744</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3745"><td class="num" id="LN3745">3745</td><td class="line">panel_toplevel_auto_hide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3746"><td class="num" id="LN3746">3746</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3747"><td class="num" id="LN3747">3747</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3748"><td class="num" id="LN3748">3748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3749"><td class="num" id="LN3749">3749</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_autohide_disabled (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="3750"><td class="num" id="LN3750">3750</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3751"><td class="num" id="LN3751">3751</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3752"><td class="num" id="LN3752">3752</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3753"><td class="num" id="LN3753">3753</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3754"><td class="num" id="LN3754">3754</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3755"><td class="num" id="LN3755">3755</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3756"><td class="num" id="LN3756">3756</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3757"><td class="num" id="LN3757">3757</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3758"><td class="num" id="LN3758">3758</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3759"><td class="num" id="LN3759">3759</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3760"><td class="num" id="LN3760">3760</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3761"><td class="num" id="LN3761">3761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3762"><td class="num" id="LN3762">3762</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3763"><td class="num" id="LN3763">3763</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3764"><td class="num" id="LN3764">3764</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3765"><td class="num" id="LN3765">3765</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3766"><td class="num" id="LN3766">3766</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3767"><td class="num" id="LN3767">3767</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3768"><td class="num" id="LN3768">3768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3769"><td class="num" id="LN3769">3769</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3770"><td class="num" id="LN3770">3770</td><td class="line">panel_toplevel_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3771"><td class="num" id="LN3771">3771</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3772"><td class="num" id="LN3772">3772</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3773"><td class="num" id="LN3773">3773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3774"><td class="num" id="LN3774">3774</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3775"><td class="num" id="LN3775">3775</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3776"><td class="num" id="LN3776">3776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3777"><td class="num" id="LN3777">3777</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="3778"><td class="num" id="LN3778">3778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3779"><td class="num" id="LN3779">3779</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3780"><td class="num" id="LN3780">3780</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3781"><td class="num" id="LN3781">3781</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3782"><td class="num" id="LN3782">3782</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3783"><td class="num" id="LN3783">3783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3784"><td class="num" id="LN3784">3784</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3785"><td class="num" id="LN3785">3785</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3786"><td class="num" id="LN3786">3786</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3787"><td class="num" id="LN3787">3787</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3788"><td class="num" id="LN3788">3788</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), unhide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3789"><td class="num" id="LN3789">3789</td><td class="line"> <span class='comment'>* (same as for hide) */</span></td></tr>
+<tr class="codeline" data-linenumber="3790"><td class="num" id="LN3790">3790</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3791"><td class="num" id="LN3791">3791</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3792"><td class="num" id="LN3792">3792</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3793"><td class="num" id="LN3793">3793</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3794"><td class="num" id="LN3794">3794</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3795"><td class="num" id="LN3795">3795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3796"><td class="num" id="LN3796">3796</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3797"><td class="num" id="LN3797">3797</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3798"><td class="num" id="LN3798">3798</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3799"><td class="num" id="LN3799">3799</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3800"><td class="num" id="LN3800">3800</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3801"><td class="num" id="LN3801">3801</td><td class="line">panel_toplevel_auto_unhide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3802"><td class="num" id="LN3802">3802</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3803"><td class="num" id="LN3803">3803</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3804"><td class="num" id="LN3804">3804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3805"><td class="num" id="LN3805">3805</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3806"><td class="num" id="LN3806">3806</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3807"><td class="num" id="LN3807">3807</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3808"><td class="num" id="LN3808">3808</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3809"><td class="num" id="LN3809">3809</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3810"><td class="num" id="LN3810">3810</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3811"><td class="num" id="LN3811">3811</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3812"><td class="num" id="LN3812">3812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3813"><td class="num" id="LN3813">3813</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3814"><td class="num" id="LN3814">3814</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3815"><td class="num" id="LN3815">3815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3816"><td class="num" id="LN3816">3816</td><td class="line"> <span class='comment'>/* initial animation for auto-hidden panels: we need to unhide and hide</span></td></tr>
+<tr class="codeline" data-linenumber="3817"><td class="num" id="LN3817">3817</td><td class="line"> <span class='comment'>* again to get at the right size */</span></td></tr>
+<tr class="codeline" data-linenumber="3818"><td class="num" id="LN3818">3818</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3819"><td class="num" id="LN3819">3819</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3820"><td class="num" id="LN3820">3820</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3821"><td class="num" id="LN3821">3821</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3822"><td class="num" id="LN3822">3822</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3823"><td class="num" id="LN3823">3823</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3824"><td class="num" id="LN3824">3824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3825"><td class="num" id="LN3825">3825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3826"><td class="num" id="LN3826">3826</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_contains_pointer (toplevel) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3827"><td class="num" id="LN3827">3827</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3828"><td class="num" id="LN3828">3828</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3829"><td class="num" id="LN3829">3829</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3830"><td class="num" id="LN3830">3830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3831"><td class="num" id="LN3831">3831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3832"><td class="num" id="LN3832">3832</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3833"><td class="num" id="LN3833">3833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3834"><td class="num" id="LN3834">3834</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3835"><td class="num" id="LN3835">3835</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3836"><td class="num" id="LN3836">3836</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3837"><td class="num" id="LN3837">3837</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3838"><td class="num" id="LN3838">3838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3839"><td class="num" id="LN3839">3839</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3840"><td class="num" id="LN3840">3840</td><td class="line">panel_toplevel_queue_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3841"><td class="num" id="LN3841">3841</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3842"><td class="num" id="LN3842">3842</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3843"><td class="num" id="LN3843">3843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3844"><td class="num" id="LN3844">3844</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;auto_hide ||</td></tr>
+<tr class="codeline" data-linenumber="3845"><td class="num" id="LN3845">3845</td><td class="line"> panel_toplevel_contains_pointer (toplevel) ||</td></tr>
+<tr class="codeline" data-linenumber="3846"><td class="num" id="LN3846">3846</td><td class="line"> panel_toplevel_get_autohide_disabled (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="3847"><td class="num" id="LN3847">3847</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3848"><td class="num" id="LN3848">3848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3849"><td class="num" id="LN3849">3849</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3850"><td class="num" id="LN3850">3850</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3851"><td class="num" id="LN3851">3851</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3852"><td class="num" id="LN3852">3852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3853"><td class="num" id="LN3853">3853</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout ||</td></tr>
+<tr class="codeline" data-linenumber="3854"><td class="num" id="LN3854">3854</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3855"><td class="num" id="LN3855">3855</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3856"><td class="num" id="LN3856">3856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3857"><td class="num" id="LN3857">3857</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3858"><td class="num" id="LN3858">3858</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3859"><td class="num" id="LN3859">3859</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;hide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3860"><td class="num" id="LN3860">3860</td><td class="line"> (GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3861"><td class="num" id="LN3861">3861</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3862"><td class="num" id="LN3862">3862</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3863"><td class="num" id="LN3863">3863</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3864"><td class="num" id="LN3864">3864</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3865"><td class="num" id="LN3865">3865</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3866"><td class="num" id="LN3866">3866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3867"><td class="num" id="LN3867">3867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3868"><td class="num" id="LN3868">3868</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3869"><td class="num" id="LN3869">3869</td><td class="line">panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3870"><td class="num" id="LN3870">3870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3871"><td class="num" id="LN3871">3871</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3872"><td class="num" id="LN3872">3872</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3873"><td class="num" id="LN3873">3873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3874"><td class="num" id="LN3874">3874</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3875"><td class="num" id="LN3875">3875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3876"><td class="num" id="LN3876">3876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3877"><td class="num" id="LN3877">3877</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3878"><td class="num" id="LN3878">3878</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3879"><td class="num" id="LN3879">3879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3880"><td class="num" id="LN3880">3880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3881"><td class="num" id="LN3881">3881</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3882"><td class="num" id="LN3882">3882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3883"><td class="num" id="LN3883">3883</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3884"><td class="num" id="LN3884">3884</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3885"><td class="num" id="LN3885">3885</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;unhide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3886"><td class="num" id="LN3886">3886</td><td class="line"> (GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3887"><td class="num" id="LN3887">3887</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3888"><td class="num" id="LN3888">3888</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3889"><td class="num" id="LN3889">3889</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3890"><td class="num" id="LN3890">3890</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3891"><td class="num" id="LN3891">3891</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3892"><td class="num" id="LN3892">3892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3893"><td class="num" id="LN3893">3893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3894"><td class="num" id="LN3894">3894</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3895"><td class="num" id="LN3895">3895</td><td class="line">panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3896"><td class="num" id="LN3896">3896</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3897"><td class="num" id="LN3897">3897</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3898"><td class="num" id="LN3898">3898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3899"><td class="num" id="LN3899">3899</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;initial_animation_done)</td></tr>
+<tr class="codeline" data-linenumber="3900"><td class="num" id="LN3900">3900</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3901"><td class="num" id="LN3901">3901</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3902"><td class="num" id="LN3902">3902</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3903"><td class="num" id="LN3903">3903</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3904"><td class="num" id="LN3904">3904</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3905"><td class="num" id="LN3905">3905</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3906"><td class="num" id="LN3906">3906</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3907"><td class="num" id="LN3907">3907</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3908"><td class="num" id="LN3908">3908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3909"><td class="num" id="LN3909">3909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3910"><td class="num" id="LN3910">3910</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3911"><td class="num" id="LN3911">3911</td><td class="line">panel_toplevel_enter_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3912"><td class="num" id="LN3912">3912</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3913"><td class="num" id="LN3913">3913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3914"><td class="num" id="LN3914">3914</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3915"><td class="num" id="LN3915">3915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3916"><td class="num" id="LN3916">3916</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3917"><td class="num" id="LN3917">3917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3918"><td class="num" id="LN3918">3918</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3919"><td class="num" id="LN3919">3919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3920"><td class="num" id="LN3920">3920</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3921"><td class="num" id="LN3921">3921</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3922"><td class="num" id="LN3922">3922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3923"><td class="num" id="LN3923">3923</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3924"><td class="num" id="LN3924">3924</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3925"><td class="num" id="LN3925">3925</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3926"><td class="num" id="LN3926">3926</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3927"><td class="num" id="LN3927">3927</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3928"><td class="num" id="LN3928">3928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3929"><td class="num" id="LN3929">3929</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3930"><td class="num" id="LN3930">3930</td><td class="line">panel_toplevel_leave_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3931"><td class="num" id="LN3931">3931</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3932"><td class="num" id="LN3932">3932</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3933"><td class="num" id="LN3933">3933</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3934"><td class="num" id="LN3934">3934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3935"><td class="num" id="LN3935">3935</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3936"><td class="num" id="LN3936">3936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3937"><td class="num" id="LN3937">3937</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3938"><td class="num" id="LN3938">3938</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3939"><td class="num" id="LN3939">3939</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3940"><td class="num" id="LN3940">3940</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3941"><td class="num" id="LN3941">3941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3942"><td class="num" id="LN3942">3942</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3943"><td class="num" id="LN3943">3943</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3944"><td class="num" id="LN3944">3944</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3945"><td class="num" id="LN3945">3945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3946"><td class="num" id="LN3946">3946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3947"><td class="num" id="LN3947">3947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3948"><td class="num" id="LN3948">3948</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3949"><td class="num" id="LN3949">3949</td><td class="line">panel_toplevel_focus_in_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3950"><td class="num" id="LN3950">3950</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3951"><td class="num" id="LN3951">3951</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3952"><td class="num" id="LN3952">3952</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3953"><td class="num" id="LN3953">3953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3954"><td class="num" id="LN3954">3954</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3955"><td class="num" id="LN3955">3955</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3956"><td class="num" id="LN3956">3956</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3957"><td class="num" id="LN3957">3957</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event)</td></tr>
+<tr class="codeline" data-linenumber="3958"><td class="num" id="LN3958">3958</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3959"><td class="num" id="LN3959">3959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3960"><td class="num" id="LN3960">3960</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3961"><td class="num" id="LN3961">3961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3962"><td class="num" id="LN3962">3962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3963"><td class="num" id="LN3963">3963</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3964"><td class="num" id="LN3964">3964</td><td class="line">panel_toplevel_focus_out_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3965"><td class="num" id="LN3965">3965</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3966"><td class="num" id="LN3966">3966</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3967"><td class="num" id="LN3967">3967</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3968"><td class="num" id="LN3968">3968</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3969"><td class="num" id="LN3969">3969</td><td class="line"> <span class='comment'>/* It appears that sometimes we don't get a leave notify event,</span></td></tr>
+<tr class="codeline" data-linenumber="3970"><td class="num" id="LN3970">3970</td><td class="line"> <span class='comment'>but just a focus in/out, so queue the autohide in that case.</span></td></tr>
+<tr class="codeline" data-linenumber="3971"><td class="num" id="LN3971">3971</td><td class="line"> <span class='comment'>If the pointer is inside the panel then obviously we won't hide */</span></td></tr>
+<tr class="codeline" data-linenumber="3972"><td class="num" id="LN3972">3972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3973"><td class="num" id="LN3973">3973</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3974"><td class="num" id="LN3974">3974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3975"><td class="num" id="LN3975">3975</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event)</td></tr>
+<tr class="codeline" data-linenumber="3976"><td class="num" id="LN3976">3976</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3977"><td class="num" id="LN3977">3977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3978"><td class="num" id="LN3978">3978</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3979"><td class="num" id="LN3979">3979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3980"><td class="num" id="LN3980">3980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3981"><td class="num" id="LN3981">3981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3982"><td class="num" id="LN3982">3982</td><td class="line">panel_toplevel_style_updated (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3983"><td class="num" id="LN3983">3983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3984"><td class="num" id="LN3984">3984</td><td class="line"> panel_toplevel_update_hide_buttons (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3985"><td class="num" id="LN3985">3985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3986"><td class="num" id="LN3986">3986</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated)</td></tr>
+<tr class="codeline" data-linenumber="3987"><td class="num" id="LN3987">3987</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated (widget);</td></tr>
+<tr class="codeline" data-linenumber="3988"><td class="num" id="LN3988">3988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3989"><td class="num" id="LN3989">3989</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3990"><td class="num" id="LN3990">3990</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3991"><td class="num" id="LN3991">3991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3992"><td class="num" id="LN3992">3992</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3993"><td class="num" id="LN3993">3993</td><td class="line">panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3994"><td class="num" id="LN3994">3994</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3995"><td class="num" id="LN3995">3995</td><td class="line"> <span class='keyword'>int</span> threshold;</td></tr>
+<tr class="codeline" data-linenumber="3996"><td class="num" id="LN3996">3996</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3997"><td class="num" id="LN3997">3997</td><td class="line"> threshold = 0;</td></tr>
+<tr class="codeline" data-linenumber="3998"><td class="num" id="LN3998">3998</td><td class="line"> g_object_get (<span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;gtk_settings)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;gtk_settings)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="3999"><td class="num" id="LN3999">3999</td><td class="line"> <span class='string_literal'>"gtk-dnd-drag-threshold"</span>, &amp;threshold,</td></tr>
+<tr class="codeline" data-linenumber="4000"><td class="num" id="LN4000">4000</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4001"><td class="num" id="LN4001">4001</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4002"><td class="num" id="LN4002">4002</td><td class="line"> <span class='keyword'>if</span> (threshold)</td></tr>
+<tr class="codeline" data-linenumber="4003"><td class="num" id="LN4003">4003</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = threshold * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4004"><td class="num" id="LN4004">4004</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4005"><td class="num" id="LN4005">4005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4006"><td class="num" id="LN4006">4006</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4007"><td class="num" id="LN4007">4007</td><td class="line">panel_toplevel_update_gtk_settings (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4008"><td class="num" id="LN4008">4008</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4009"><td class="num" id="LN4009">4009</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings)</td></tr>
+<tr class="codeline" data-linenumber="4010"><td class="num" id="LN4010">4010</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4011"><td class="num" id="LN4011">4011</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4012"><td class="num" id="LN4012">4012</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4013"><td class="num" id="LN4013">4013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4014"><td class="num" id="LN4014">4014</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = gtk_widget_get_settings (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;panel_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;panel_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4015"><td class="num" id="LN4015">4015</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4016"><td class="num" id="LN4016">4016</td><td class="line"> <span class='macro'>g_signal_connect_swapped (toplevel-&gt;priv-&gt;gtk_settings, <span class='string_literal'>"notify::gtk-dnd-drag-threshold"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4017"><td class="num" id="LN4017">4017</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4018"><td class="num" id="LN4018">4018</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4019"><td class="num" id="LN4019">4019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4020"><td class="num" id="LN4020">4020</td><td class="line"> panel_toplevel_drag_threshold_changed (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4021"><td class="num" id="LN4021">4021</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4022"><td class="num" id="LN4022">4022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4023"><td class="num" id="LN4023">4023</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4024"><td class="num" id="LN4024">4024</td><td class="line">panel_toplevel_screen_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="4025"><td class="num" id="LN4025">4025</td><td class="line"> GdkScreen *previous_screen)</td></tr>
+<tr class="codeline" data-linenumber="4026"><td class="num" id="LN4026">4026</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4027"><td class="num" id="LN4027">4027</td><td class="line"> panel_toplevel_update_gtk_settings (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4028"><td class="num" id="LN4028">4028</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4029"><td class="num" id="LN4029">4029</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed)</td></tr>
+<tr class="codeline" data-linenumber="4030"><td class="num" id="LN4030">4030</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed (widget, previous_screen);</td></tr>
+<tr class="codeline" data-linenumber="4031"><td class="num" id="LN4031">4031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4032"><td class="num" id="LN4032">4032</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="4033"><td class="num" id="LN4033">4033</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4034"><td class="num" id="LN4034">4034</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4035"><td class="num" id="LN4035">4035</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4036"><td class="num" id="LN4036">4036</td><td class="line">panel_toplevel_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4037"><td class="num" id="LN4037">4037</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4038"><td class="num" id="LN4038">4038</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4039"><td class="num" id="LN4039">4039</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4040"><td class="num" id="LN4040">4040</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4041"><td class="num" id="LN4041">4041</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4042"><td class="num" id="LN4042">4042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4043"><td class="num" id="LN4043">4043</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4044"><td class="num" id="LN4044">4044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4045"><td class="num" id="LN4045">4045</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4046"><td class="num" id="LN4046">4046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4047"><td class="num" id="LN4047">4047</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4048"><td class="num" id="LN4048">4048</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4049"><td class="num" id="LN4049">4049</td><td class="line"> panel_toplevel_set_name (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4050"><td class="num" id="LN4050">4050</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4051"><td class="num" id="LN4051">4051</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4052"><td class="num" id="LN4052">4052</td><td class="line"> panel_toplevel_set_settings_path (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4053"><td class="num" id="LN4053">4053</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4054"><td class="num" id="LN4054">4054</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4055"><td class="num" id="LN4055">4055</td><td class="line"> panel_toplevel_set_expand (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4056"><td class="num" id="LN4056">4056</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4057"><td class="num" id="LN4057">4057</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4058"><td class="num" id="LN4058">4058</td><td class="line"> panel_toplevel_set_orientation (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4059"><td class="num" id="LN4059">4059</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4060"><td class="num" id="LN4060">4060</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4061"><td class="num" id="LN4061">4061</td><td class="line"> panel_toplevel_set_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4062"><td class="num" id="LN4062">4062</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4063"><td class="num" id="LN4063">4063</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4064"><td class="num" id="LN4064">4064</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4065"><td class="num" id="LN4065">4065</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4066"><td class="num" id="LN4066">4066</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4067"><td class="num" id="LN4067">4067</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4068"><td class="num" id="LN4068">4068</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4069"><td class="num" id="LN4069">4069</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4070"><td class="num" id="LN4070">4070</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4071"><td class="num" id="LN4071">4071</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4072"><td class="num" id="LN4072">4072</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4073"><td class="num" id="LN4073">4073</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4074"><td class="num" id="LN4074">4074</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4075"><td class="num" id="LN4075">4075</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4076"><td class="num" id="LN4076">4076</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4077"><td class="num" id="LN4077">4077</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4078"><td class="num" id="LN4078">4078</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4079"><td class="num" id="LN4079">4079</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4080"><td class="num" id="LN4080">4080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4081"><td class="num" id="LN4081">4081</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4082"><td class="num" id="LN4082">4082</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4083"><td class="num" id="LN4083">4083</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4084"><td class="num" id="LN4084">4084</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4085"><td class="num" id="LN4085">4085</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4086"><td class="num" id="LN4086">4086</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4087"><td class="num" id="LN4087">4087</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4088"><td class="num" id="LN4088">4088</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4089"><td class="num" id="LN4089">4089</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4090"><td class="num" id="LN4090">4090</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4091"><td class="num" id="LN4091">4091</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4092"><td class="num" id="LN4092">4092</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4093"><td class="num" id="LN4093">4093</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4094"><td class="num" id="LN4094">4094</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4095"><td class="num" id="LN4095">4095</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4096"><td class="num" id="LN4096">4096</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4097"><td class="num" id="LN4097">4097</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4098"><td class="num" id="LN4098">4098</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4099"><td class="num" id="LN4099">4099</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4100"><td class="num" id="LN4100">4100</td><td class="line"> panel_toplevel_set_monitor (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4101"><td class="num" id="LN4101">4101</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4102"><td class="num" id="LN4102">4102</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4103"><td class="num" id="LN4103">4103</td><td class="line"> panel_toplevel_set_auto_hide (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4104"><td class="num" id="LN4104">4104</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4105"><td class="num" id="LN4105">4105</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4106"><td class="num" id="LN4106">4106</td><td class="line"> panel_toplevel_set_hide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4107"><td class="num" id="LN4107">4107</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4108"><td class="num" id="LN4108">4108</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4109"><td class="num" id="LN4109">4109</td><td class="line"> panel_toplevel_set_unhide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4110"><td class="num" id="LN4110">4110</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4111"><td class="num" id="LN4111">4111</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4112"><td class="num" id="LN4112">4112</td><td class="line"> panel_toplevel_set_auto_hide_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4113"><td class="num" id="LN4113">4113</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4114"><td class="num" id="LN4114">4114</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4115"><td class="num" id="LN4115">4115</td><td class="line"> panel_toplevel_set_animate (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4116"><td class="num" id="LN4116">4116</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4117"><td class="num" id="LN4117">4117</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4118"><td class="num" id="LN4118">4118</td><td class="line"> panel_toplevel_set_animation_speed (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4119"><td class="num" id="LN4119">4119</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4120"><td class="num" id="LN4120">4120</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4121"><td class="num" id="LN4121">4121</td><td class="line"> panel_toplevel_set_enable_buttons (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4122"><td class="num" id="LN4122">4122</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4123"><td class="num" id="LN4123">4123</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4124"><td class="num" id="LN4124">4124</td><td class="line"> panel_toplevel_set_enable_arrows (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4125"><td class="num" id="LN4125">4125</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4126"><td class="num" id="LN4126">4126</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4127"><td class="num" id="LN4127">4127</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4127, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4128"><td class="num" id="LN4128">4128</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4129"><td class="num" id="LN4129">4129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4130"><td class="num" id="LN4130">4130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4131"><td class="num" id="LN4131">4131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4132"><td class="num" id="LN4132">4132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4133"><td class="num" id="LN4133">4133</td><td class="line">panel_toplevel_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4134"><td class="num" id="LN4134">4134</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4135"><td class="num" id="LN4135">4135</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4136"><td class="num" id="LN4136">4136</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4137"><td class="num" id="LN4137">4137</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4138"><td class="num" id="LN4138">4138</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4139"><td class="num" id="LN4139">4139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4140"><td class="num" id="LN4140">4140</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4141"><td class="num" id="LN4141">4141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4142"><td class="num" id="LN4142">4142</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4143"><td class="num" id="LN4143">4143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4144"><td class="num" id="LN4144">4144</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4145"><td class="num" id="LN4145">4145</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4146"><td class="num" id="LN4146">4146</td><td class="line"> g_value_set_string (value, panel_toplevel_get_name (toplevel));</td></tr>
+<tr class="codeline" data-linenumber="4147"><td class="num" id="LN4147">4147</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4148"><td class="num" id="LN4148">4148</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4149"><td class="num" id="LN4149">4149</td><td class="line"> g_value_set_string (value, toplevel-&gt;priv-&gt;settings_path);</td></tr>
+<tr class="codeline" data-linenumber="4150"><td class="num" id="LN4150">4150</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4151"><td class="num" id="LN4151">4151</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4152"><td class="num" id="LN4152">4152</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4153"><td class="num" id="LN4153">4153</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4154"><td class="num" id="LN4154">4154</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4155"><td class="num" id="LN4155">4155</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="4156"><td class="num" id="LN4156">4156</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4157"><td class="num" id="LN4157">4157</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4158"><td class="num" id="LN4158">4158</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4159"><td class="num" id="LN4159">4159</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4160"><td class="num" id="LN4160">4160</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4161"><td class="num" id="LN4161">4161</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x);</td></tr>
+<tr class="codeline" data-linenumber="4162"><td class="num" id="LN4162">4162</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4163"><td class="num" id="LN4163">4163</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4164"><td class="num" id="LN4164">4164</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x_right);</td></tr>
+<tr class="codeline" data-linenumber="4165"><td class="num" id="LN4165">4165</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4166"><td class="num" id="LN4166">4166</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4167"><td class="num" id="LN4167">4167</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4168"><td class="num" id="LN4168">4168</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4169"><td class="num" id="LN4169">4169</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4170"><td class="num" id="LN4170">4170</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y);</td></tr>
+<tr class="codeline" data-linenumber="4171"><td class="num" id="LN4171">4171</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4172"><td class="num" id="LN4172">4172</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4173"><td class="num" id="LN4173">4173</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4174"><td class="num" id="LN4174">4174</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4175"><td class="num" id="LN4175">4175</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4176"><td class="num" id="LN4176">4176</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4177"><td class="num" id="LN4177">4177</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4178"><td class="num" id="LN4178">4178</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4179"><td class="num" id="LN4179">4179</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="4180"><td class="num" id="LN4180">4180</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4181"><td class="num" id="LN4181">4181</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4182"><td class="num" id="LN4182">4182</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;auto_hide);</td></tr>
+<tr class="codeline" data-linenumber="4183"><td class="num" id="LN4183">4183</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4184"><td class="num" id="LN4184">4184</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4185"><td class="num" id="LN4185">4185</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;hide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4186"><td class="num" id="LN4186">4186</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4187"><td class="num" id="LN4187">4187</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4188"><td class="num" id="LN4188">4188</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;unhide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4189"><td class="num" id="LN4189">4189</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4190"><td class="num" id="LN4190">4190</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4191"><td class="num" id="LN4191">4191</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="4192"><td class="num" id="LN4192">4192</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4193"><td class="num" id="LN4193">4193</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4194"><td class="num" id="LN4194">4194</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;animate);</td></tr>
+<tr class="codeline" data-linenumber="4195"><td class="num" id="LN4195">4195</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4196"><td class="num" id="LN4196">4196</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4197"><td class="num" id="LN4197">4197</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;animation_speed);</td></tr>
+<tr class="codeline" data-linenumber="4198"><td class="num" id="LN4198">4198</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4199"><td class="num" id="LN4199">4199</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4200"><td class="num" id="LN4200">4200</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;buttons_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4201"><td class="num" id="LN4201">4201</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4202"><td class="num" id="LN4202">4202</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4203"><td class="num" id="LN4203">4203</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;arrows_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4204"><td class="num" id="LN4204">4204</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4205"><td class="num" id="LN4205">4205</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4206"><td class="num" id="LN4206">4206</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4206, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4207"><td class="num" id="LN4207">4207</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4208"><td class="num" id="LN4208">4208</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4209"><td class="num" id="LN4209">4209</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4210"><td class="num" id="LN4210">4210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4211"><td class="num" id="LN4211">4211</td><td class="line"><span class='keyword'>static</span> GObject*</td></tr>
+<tr class="codeline" data-linenumber="4212"><td class="num" id="LN4212">4212</td><td class="line">panel_toplevel_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="4213"><td class="num" id="LN4213">4213</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4214"><td class="num" id="LN4214">4214</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="4215"><td class="num" id="LN4215">4215</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4216"><td class="num" id="LN4216">4216</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="4217"><td class="num" id="LN4217">4217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4218"><td class="num" id="LN4218">4218</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="4219"><td class="num" id="LN4219">4219</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4220"><td class="num" id="LN4220">4220</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="4221"><td class="num" id="LN4221">4221</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL(object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4222"><td class="num" id="LN4222">4222</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4223"><td class="num" id="LN4223">4223</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="4224"><td class="num" id="LN4224">4224</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="4225"><td class="num" id="LN4225">4225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4226"><td class="num" id="LN4226">4226</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="4227"><td class="num" id="LN4227">4227</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4228"><td class="num" id="LN4228">4228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4229"><td class="num" id="LN4229">4229</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4230"><td class="num" id="LN4230">4230</td><td class="line">panel_toplevel_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="4231"><td class="num" id="LN4231">4231</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4232"><td class="num" id="LN4232">4232</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) object;</td></tr>
+<tr class="codeline" data-linenumber="4233"><td class="num" id="LN4233">4233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4234"><td class="num" id="LN4234">4234</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4235"><td class="num" id="LN4235">4235</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4236"><td class="num" id="LN4236">4236</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4237"><td class="num" id="LN4237">4237</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="4238"><td class="num" id="LN4238">4238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4239"><td class="num" id="LN4239">4239</td><td class="line"> toplevel_list = g_slist_remove (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4240"><td class="num" id="LN4240">4240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4241"><td class="num" id="LN4241">4241</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="4242"><td class="num" id="LN4242">4242</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4243"><td class="num" id="LN4243">4243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4244"><td class="num" id="LN4244">4244</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4245"><td class="num" id="LN4245">4245</td><td class="line">panel_toplevel_class_init (PanelToplevelClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="4246"><td class="num" id="LN4246">4246</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4247"><td class="num" id="LN4247">4247</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4248"><td class="num" id="LN4248">4248</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4249"><td class="num" id="LN4249">4249</td><td class="line"> GtkContainerClass *container_class = (GtkContainerClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4250"><td class="num" id="LN4250">4250</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="4251"><td class="num" id="LN4251">4251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4252"><td class="num" id="LN4252">4252</td><td class="line"> binding_set = gtk_binding_set_by_class (klass);</td></tr>
+<tr class="codeline" data-linenumber="4253"><td class="num" id="LN4253">4253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4254"><td class="num" id="LN4254">4254</td><td class="line"> gobject_class-&gt;constructor = panel_toplevel_constructor;</td></tr>
+<tr class="codeline" data-linenumber="4255"><td class="num" id="LN4255">4255</td><td class="line"> gobject_class-&gt;set_property = panel_toplevel_set_property;</td></tr>
+<tr class="codeline" data-linenumber="4256"><td class="num" id="LN4256">4256</td><td class="line"> gobject_class-&gt;get_property = panel_toplevel_get_property;</td></tr>
+<tr class="codeline" data-linenumber="4257"><td class="num" id="LN4257">4257</td><td class="line"> gobject_class-&gt;finalize = panel_toplevel_finalize;</td></tr>
+<tr class="codeline" data-linenumber="4258"><td class="num" id="LN4258">4258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4259"><td class="num" id="LN4259">4259</td><td class="line"> gobject_class-&gt;dispose = panel_toplevel_dispose;</td></tr>
+<tr class="codeline" data-linenumber="4260"><td class="num" id="LN4260">4260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4261"><td class="num" id="LN4261">4261</td><td class="line"> widget_class-&gt;realize = panel_toplevel_realize;</td></tr>
+<tr class="codeline" data-linenumber="4262"><td class="num" id="LN4262">4262</td><td class="line"> widget_class-&gt;unrealize = panel_toplevel_unrealize;</td></tr>
+<tr class="codeline" data-linenumber="4263"><td class="num" id="LN4263">4263</td><td class="line"> widget_class-&gt;state_flags_changed = panel_toplevel_state_flags_changed;</td></tr>
+<tr class="codeline" data-linenumber="4264"><td class="num" id="LN4264">4264</td><td class="line"> widget_class-&gt;draw = panel_toplevel_draw;</td></tr>
+<tr class="codeline" data-linenumber="4265"><td class="num" id="LN4265">4265</td><td class="line"> widget_class-&gt;get_preferred_width = panel_toplevel_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="4266"><td class="num" id="LN4266">4266</td><td class="line"> widget_class-&gt;get_preferred_height = panel_toplevel_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="4267"><td class="num" id="LN4267">4267</td><td class="line"> widget_class-&gt;style_updated = panel_toplevel_style_updated;</td></tr>
+<tr class="codeline" data-linenumber="4268"><td class="num" id="LN4268">4268</td><td class="line"> widget_class-&gt;size_allocate = panel_toplevel_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="4269"><td class="num" id="LN4269">4269</td><td class="line"> widget_class-&gt;button_press_event = panel_toplevel_button_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4270"><td class="num" id="LN4270">4270</td><td class="line"> widget_class-&gt;button_release_event = panel_toplevel_button_release_event;</td></tr>
+<tr class="codeline" data-linenumber="4271"><td class="num" id="LN4271">4271</td><td class="line"> widget_class-&gt;configure_event = panel_toplevel_configure_event;</td></tr>
+<tr class="codeline" data-linenumber="4272"><td class="num" id="LN4272">4272</td><td class="line"> widget_class-&gt;key_press_event = panel_toplevel_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4273"><td class="num" id="LN4273">4273</td><td class="line"> widget_class-&gt;motion_notify_event = panel_toplevel_motion_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4274"><td class="num" id="LN4274">4274</td><td class="line"> widget_class-&gt;enter_notify_event = panel_toplevel_enter_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4275"><td class="num" id="LN4275">4275</td><td class="line"> widget_class-&gt;leave_notify_event = panel_toplevel_leave_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4276"><td class="num" id="LN4276">4276</td><td class="line"> widget_class-&gt;screen_changed = panel_toplevel_screen_changed;</td></tr>
+<tr class="codeline" data-linenumber="4277"><td class="num" id="LN4277">4277</td><td class="line"> widget_class-&gt;focus_in_event = panel_toplevel_focus_in_event;</td></tr>
+<tr class="codeline" data-linenumber="4278"><td class="num" id="LN4278">4278</td><td class="line"> widget_class-&gt;focus_out_event = panel_toplevel_focus_out_event;</td></tr>
+<tr class="codeline" data-linenumber="4279"><td class="num" id="LN4279">4279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4280"><td class="num" id="LN4280">4280</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelToplevel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4281"><td class="num" id="LN4281">4281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4282"><td class="num" id="LN4282">4282</td><td class="line"> container_class-&gt;check_resize = panel_toplevel_check_resize;</td></tr>
+<tr class="codeline" data-linenumber="4283"><td class="num" id="LN4283">4283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4284"><td class="num" id="LN4284">4284</td><td class="line"> klass-&gt;hiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4285"><td class="num" id="LN4285">4285</td><td class="line"> klass-&gt;unhiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4286"><td class="num" id="LN4286">4286</td><td class="line"> klass-&gt;popup_panel_menu = panel_toplevel_popup_panel_menu;</td></tr>
+<tr class="codeline" data-linenumber="4287"><td class="num" id="LN4287">4287</td><td class="line"> klass-&gt;toggle_expand = panel_toplevel_toggle_expand;</td></tr>
+<tr class="codeline" data-linenumber="4288"><td class="num" id="LN4288">4288</td><td class="line"> klass-&gt;expand = panel_toplevel_expand;</td></tr>
+<tr class="codeline" data-linenumber="4289"><td class="num" id="LN4289">4289</td><td class="line"> klass-&gt;unexpand = panel_toplevel_unexpand;</td></tr>
+<tr class="codeline" data-linenumber="4290"><td class="num" id="LN4290">4290</td><td class="line"> klass-&gt;toggle_hidden = panel_toplevel_toggle_hidden;</td></tr>
+<tr class="codeline" data-linenumber="4291"><td class="num" id="LN4291">4291</td><td class="line"> klass-&gt;begin_move = panel_toplevel_begin_move;</td></tr>
+<tr class="codeline" data-linenumber="4292"><td class="num" id="LN4292">4292</td><td class="line"> klass-&gt;begin_resize = panel_toplevel_begin_resize;</td></tr>
+<tr class="codeline" data-linenumber="4293"><td class="num" id="LN4293">4293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4294"><td class="num" id="LN4294">4294</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4295"><td class="num" id="LN4295">4295</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4296"><td class="num" id="LN4296">4296</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="4297"><td class="num" id="LN4297">4297</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4298"><td class="num" id="LN4298">4298</td><td class="line"> <span class='string_literal'>"name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4299"><td class="num" id="LN4299">4299</td><td class="line"> <span class='string_literal'>"Name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4300"><td class="num" id="LN4300">4300</td><td class="line"> <span class='string_literal'>"The name of this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4301"><td class="num" id="LN4301">4301</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4302"><td class="num" id="LN4302">4302</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4303"><td class="num" id="LN4303">4303</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4304"><td class="num" id="LN4304">4304</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4305"><td class="num" id="LN4305">4305</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4306"><td class="num" id="LN4306">4306</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="4307"><td class="num" id="LN4307">4307</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4308"><td class="num" id="LN4308">4308</td><td class="line"> <span class='string_literal'>"settings-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4309"><td class="num" id="LN4309">4309</td><td class="line"> <span class='string_literal'>"GSettings path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4310"><td class="num" id="LN4310">4310</td><td class="line"> <span class='string_literal'>"The GSettings path used for this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4311"><td class="num" id="LN4311">4311</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4312"><td class="num" id="LN4312">4312</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4313"><td class="num" id="LN4313">4313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4314"><td class="num" id="LN4314">4314</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4315"><td class="num" id="LN4315">4315</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4316"><td class="num" id="LN4316">4316</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="4317"><td class="num" id="LN4317">4317</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4318"><td class="num" id="LN4318">4318</td><td class="line"> <span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4319"><td class="num" id="LN4319">4319</td><td class="line"> <span class='string_literal'>"Expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4320"><td class="num" id="LN4320">4320</td><td class="line"> <span class='string_literal'>"Expand to take up the full monitor width/height"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4321"><td class="num" id="LN4321">4321</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4322"><td class="num" id="LN4322">4322</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4323"><td class="num" id="LN4323">4323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4324"><td class="num" id="LN4324">4324</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4325"><td class="num" id="LN4325">4325</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4326"><td class="num" id="LN4326">4326</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="4327"><td class="num" id="LN4327">4327</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4328"><td class="num" id="LN4328">4328</td><td class="line"> <span class='string_literal'>"orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4329"><td class="num" id="LN4329">4329</td><td class="line"> <span class='string_literal'>"Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4330"><td class="num" id="LN4330">4330</td><td class="line"> <span class='string_literal'>"The orientation of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4331"><td class="num" id="LN4331">4331</td><td class="line"> <span class='macro'>PANEL_TYPE_ORIENTATION<span class='macro_popup'>panel_orientation_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4332"><td class="num" id="LN4332">4332</td><td class="line"> PANEL_ORIENTATION_TOP,</td></tr>
+<tr class="codeline" data-linenumber="4333"><td class="num" id="LN4333">4333</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4334"><td class="num" id="LN4334">4334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4335"><td class="num" id="LN4335">4335</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4336"><td class="num" id="LN4336">4336</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4337"><td class="num" id="LN4337">4337</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4338"><td class="num" id="LN4338">4338</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4339"><td class="num" id="LN4339">4339</td><td class="line"> <span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4340"><td class="num" id="LN4340">4340</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4341"><td class="num" id="LN4341">4341</td><td class="line"> <span class='string_literal'>"The height (or width when vertical) of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4342"><td class="num" id="LN4342">4342</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4343"><td class="num" id="LN4343">4343</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4344"><td class="num" id="LN4344">4344</td><td class="line"> <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4345"><td class="num" id="LN4345">4345</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4346"><td class="num" id="LN4346">4346</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4347"><td class="num" id="LN4347">4347</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4348"><td class="num" id="LN4348">4348</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4349"><td class="num" id="LN4349">4349</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="4350"><td class="num" id="LN4350">4350</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4351"><td class="num" id="LN4351">4351</td><td class="line"> <span class='string_literal'>"x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4352"><td class="num" id="LN4352">4352</td><td class="line"> <span class='string_literal'>"X position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4353"><td class="num" id="LN4353">4353</td><td class="line"> <span class='string_literal'>"The X position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4354"><td class="num" id="LN4354">4354</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4355"><td class="num" id="LN4355">4355</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4356"><td class="num" id="LN4356">4356</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4357"><td class="num" id="LN4357">4357</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4358"><td class="num" id="LN4358">4358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4359"><td class="num" id="LN4359">4359</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4360"><td class="num" id="LN4360">4360</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4361"><td class="num" id="LN4361">4361</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="4362"><td class="num" id="LN4362">4362</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4363"><td class="num" id="LN4363">4363</td><td class="line"> <span class='string_literal'>"x-right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4364"><td class="num" id="LN4364">4364</td><td class="line"> <span class='string_literal'>"X position, from the right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4365"><td class="num" id="LN4365">4365</td><td class="line"> <span class='string_literal'>"The X position of the panel, starting from the right of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4366"><td class="num" id="LN4366">4366</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4367"><td class="num" id="LN4367">4367</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4368"><td class="num" id="LN4368">4368</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4369"><td class="num" id="LN4369">4369</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4370"><td class="num" id="LN4370">4370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4371"><td class="num" id="LN4371">4371</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4372"><td class="num" id="LN4372">4372</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4373"><td class="num" id="LN4373">4373</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4374"><td class="num" id="LN4374">4374</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4375"><td class="num" id="LN4375">4375</td><td class="line"> <span class='string_literal'>"x-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4376"><td class="num" id="LN4376">4376</td><td class="line"> <span class='string_literal'>"X centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4377"><td class="num" id="LN4377">4377</td><td class="line"> <span class='string_literal'>"The x co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4378"><td class="num" id="LN4378">4378</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4379"><td class="num" id="LN4379">4379</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4380"><td class="num" id="LN4380">4380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4381"><td class="num" id="LN4381">4381</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4382"><td class="num" id="LN4382">4382</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4383"><td class="num" id="LN4383">4383</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="4384"><td class="num" id="LN4384">4384</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4385"><td class="num" id="LN4385">4385</td><td class="line"> <span class='string_literal'>"y"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4386"><td class="num" id="LN4386">4386</td><td class="line"> <span class='string_literal'>"Y position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4387"><td class="num" id="LN4387">4387</td><td class="line"> <span class='string_literal'>"The Y position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4388"><td class="num" id="LN4388">4388</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4389"><td class="num" id="LN4389">4389</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4390"><td class="num" id="LN4390">4390</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4391"><td class="num" id="LN4391">4391</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4392"><td class="num" id="LN4392">4392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4393"><td class="num" id="LN4393">4393</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4394"><td class="num" id="LN4394">4394</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4395"><td class="num" id="LN4395">4395</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="4396"><td class="num" id="LN4396">4396</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4397"><td class="num" id="LN4397">4397</td><td class="line"> <span class='string_literal'>"y_bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4398"><td class="num" id="LN4398">4398</td><td class="line"> <span class='string_literal'>"Y position, from the bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4399"><td class="num" id="LN4399">4399</td><td class="line"> <span class='string_literal'>"The Y position of the panel, starting from the bottom of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4400"><td class="num" id="LN4400">4400</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4401"><td class="num" id="LN4401">4401</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4402"><td class="num" id="LN4402">4402</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4403"><td class="num" id="LN4403">4403</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4404"><td class="num" id="LN4404">4404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4405"><td class="num" id="LN4405">4405</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4406"><td class="num" id="LN4406">4406</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4407"><td class="num" id="LN4407">4407</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4408"><td class="num" id="LN4408">4408</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4409"><td class="num" id="LN4409">4409</td><td class="line"> <span class='string_literal'>"y-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4410"><td class="num" id="LN4410">4410</td><td class="line"> <span class='string_literal'>"Y centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4411"><td class="num" id="LN4411">4411</td><td class="line"> <span class='string_literal'>"The y co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4412"><td class="num" id="LN4412">4412</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4413"><td class="num" id="LN4413">4413</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4414"><td class="num" id="LN4414">4414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4415"><td class="num" id="LN4415">4415</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4416"><td class="num" id="LN4416">4416</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4417"><td class="num" id="LN4417">4417</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="4418"><td class="num" id="LN4418">4418</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4419"><td class="num" id="LN4419">4419</td><td class="line"> <span class='string_literal'>"monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4420"><td class="num" id="LN4420">4420</td><td class="line"> <span class='string_literal'>"Xinerama monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4421"><td class="num" id="LN4421">4421</td><td class="line"> <span class='string_literal'>"The monitor (in terms of Xinerama) which the panel is on"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4422"><td class="num" id="LN4422">4422</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4423"><td class="num" id="LN4423">4423</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4424"><td class="num" id="LN4424">4424</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4425"><td class="num" id="LN4425">4425</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4426"><td class="num" id="LN4426">4426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4427"><td class="num" id="LN4427">4427</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4428"><td class="num" id="LN4428">4428</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4429"><td class="num" id="LN4429">4429</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="4430"><td class="num" id="LN4430">4430</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4431"><td class="num" id="LN4431">4431</td><td class="line"> <span class='string_literal'>"auto-hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4432"><td class="num" id="LN4432">4432</td><td class="line"> <span class='string_literal'>"Auto hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4433"><td class="num" id="LN4433">4433</td><td class="line"> <span class='string_literal'>"Automatically hide the panel when the mouse leaves the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4434"><td class="num" id="LN4434">4434</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4435"><td class="num" id="LN4435">4435</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4436"><td class="num" id="LN4436">4436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4437"><td class="num" id="LN4437">4437</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4438"><td class="num" id="LN4438">4438</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4439"><td class="num" id="LN4439">4439</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4440"><td class="num" id="LN4440">4440</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4441"><td class="num" id="LN4441">4441</td><td class="line"> <span class='string_literal'>"hide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4442"><td class="num" id="LN4442">4442</td><td class="line"> <span class='string_literal'>"Hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4443"><td class="num" id="LN4443">4443</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4444"><td class="num" id="LN4444">4444</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4445"><td class="num" id="LN4445">4445</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4446"><td class="num" id="LN4446">4446</td><td class="line"> <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4447"><td class="num" id="LN4447">4447</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4448"><td class="num" id="LN4448">4448</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4449"><td class="num" id="LN4449">4449</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4450"><td class="num" id="LN4450">4450</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4451"><td class="num" id="LN4451">4451</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4452"><td class="num" id="LN4452">4452</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4453"><td class="num" id="LN4453">4453</td><td class="line"> <span class='string_literal'>"unhide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4454"><td class="num" id="LN4454">4454</td><td class="line"> <span class='string_literal'>"Un-hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4455"><td class="num" id="LN4455">4455</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically un-hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4456"><td class="num" id="LN4456">4456</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4457"><td class="num" id="LN4457">4457</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4458"><td class="num" id="LN4458">4458</td><td class="line"> <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4459"><td class="num" id="LN4459">4459</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4460"><td class="num" id="LN4460">4460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4461"><td class="num" id="LN4461">4461</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4462"><td class="num" id="LN4462">4462</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4463"><td class="num" id="LN4463">4463</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4464"><td class="num" id="LN4464">4464</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4465"><td class="num" id="LN4465">4465</td><td class="line"> <span class='string_literal'>"auto-hide-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4466"><td class="num" id="LN4466">4466</td><td class="line"> <span class='string_literal'>"Auto-hide size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4467"><td class="num" id="LN4467">4467</td><td class="line"> <span class='string_literal'>"The number of pixels visible when the panel has been automatically hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4468"><td class="num" id="LN4468">4468</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="4469"><td class="num" id="LN4469">4469</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4470"><td class="num" id="LN4470">4470</td><td class="line"> <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4471"><td class="num" id="LN4471">4471</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4472"><td class="num" id="LN4472">4472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4473"><td class="num" id="LN4473">4473</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4474"><td class="num" id="LN4474">4474</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4475"><td class="num" id="LN4475">4475</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="4476"><td class="num" id="LN4476">4476</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4477"><td class="num" id="LN4477">4477</td><td class="line"> <span class='string_literal'>"animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4478"><td class="num" id="LN4478">4478</td><td class="line"> <span class='string_literal'>"Animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4479"><td class="num" id="LN4479">4479</td><td class="line"> <span class='string_literal'>"Enable hiding/showing animations"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4480"><td class="num" id="LN4480">4480</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4481"><td class="num" id="LN4481">4481</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4482"><td class="num" id="LN4482">4482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4483"><td class="num" id="LN4483">4483</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4484"><td class="num" id="LN4484">4484</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4485"><td class="num" id="LN4485">4485</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="4486"><td class="num" id="LN4486">4486</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4487"><td class="num" id="LN4487">4487</td><td class="line"> <span class='string_literal'>"animation-speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4488"><td class="num" id="LN4488">4488</td><td class="line"> <span class='string_literal'>"Animation Speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4489"><td class="num" id="LN4489">4489</td><td class="line"> <span class='string_literal'>"The speed at which to animate panel hiding/showing"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4490"><td class="num" id="LN4490">4490</td><td class="line"> <span class='macro'>PANEL_TYPE_ANIMATION_SPEED<span class='macro_popup'>panel_animation_speed_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4491"><td class="num" id="LN4491">4491</td><td class="line"> PANEL_ANIMATION_MEDIUM,</td></tr>
+<tr class="codeline" data-linenumber="4492"><td class="num" id="LN4492">4492</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4493"><td class="num" id="LN4493">4493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4494"><td class="num" id="LN4494">4494</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4495"><td class="num" id="LN4495">4495</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4496"><td class="num" id="LN4496">4496</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4497"><td class="num" id="LN4497">4497</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4498"><td class="num" id="LN4498">4498</td><td class="line"> <span class='string_literal'>"buttons-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4499"><td class="num" id="LN4499">4499</td><td class="line"> <span class='string_literal'>"Buttons Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4500"><td class="num" id="LN4500">4500</td><td class="line"> <span class='string_literal'>"Enable hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4501"><td class="num" id="LN4501">4501</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4502"><td class="num" id="LN4502">4502</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4503"><td class="num" id="LN4503">4503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4504"><td class="num" id="LN4504">4504</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4505"><td class="num" id="LN4505">4505</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4506"><td class="num" id="LN4506">4506</td><td class="line"> PROP_ARROWS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4507"><td class="num" id="LN4507">4507</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4508"><td class="num" id="LN4508">4508</td><td class="line"> <span class='string_literal'>"arrows-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4509"><td class="num" id="LN4509">4509</td><td class="line"> <span class='string_literal'>"Arrows Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4510"><td class="num" id="LN4510">4510</td><td class="line"> <span class='string_literal'>"Enable arrows on hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4511"><td class="num" id="LN4511">4511</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4512"><td class="num" id="LN4512">4512</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4513"><td class="num" id="LN4513">4513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4514"><td class="num" id="LN4514">4514</td><td class="line"> gtk_widget_class_install_style_property (</td></tr>
+<tr class="codeline" data-linenumber="4515"><td class="num" id="LN4515">4515</td><td class="line"> widget_class,</td></tr>
+<tr class="codeline" data-linenumber="4516"><td class="num" id="LN4516">4516</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4517"><td class="num" id="LN4517">4517</td><td class="line"> <span class='string_literal'>"arrow-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4518"><td class="num" id="LN4518">4518</td><td class="line"> <span class='string_literal'>"Arrow Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4519"><td class="num" id="LN4519">4519</td><td class="line"> <span class='string_literal'>"The size of the arrows on the hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4520"><td class="num" id="LN4520">4520</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4521"><td class="num" id="LN4521">4521</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4522"><td class="num" id="LN4522">4522</td><td class="line"> <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4523"><td class="num" id="LN4523">4523</td><td class="line"> G_PARAM_READABLE));</td></tr>
+<tr class="codeline" data-linenumber="4524"><td class="num" id="LN4524">4524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4525"><td class="num" id="LN4525">4525</td><td class="line"> toplevel_signals [HIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4526"><td class="num" id="LN4526">4526</td><td class="line"> g_signal_new (<span class='string_literal'>"hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4527"><td class="num" id="LN4527">4527</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4528"><td class="num" id="LN4528">4528</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4529"><td class="num" id="LN4529">4529</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, hiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, hiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4530"><td class="num" id="LN4530">4530</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4531"><td class="num" id="LN4531">4531</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4532"><td class="num" id="LN4532">4532</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4533"><td class="num" id="LN4533">4533</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4534"><td class="num" id="LN4534">4534</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4535"><td class="num" id="LN4535">4535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4536"><td class="num" id="LN4536">4536</td><td class="line"> toplevel_signals [UNHIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4537"><td class="num" id="LN4537">4537</td><td class="line"> g_signal_new (<span class='string_literal'>"unhiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4538"><td class="num" id="LN4538">4538</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4539"><td class="num" id="LN4539">4539</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4540"><td class="num" id="LN4540">4540</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unhiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unhiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4541"><td class="num" id="LN4541">4541</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4542"><td class="num" id="LN4542">4542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4543"><td class="num" id="LN4543">4543</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4544"><td class="num" id="LN4544">4544</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4545"><td class="num" id="LN4545">4545</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4546"><td class="num" id="LN4546">4546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4547"><td class="num" id="LN4547">4547</td><td class="line"> toplevel_signals [POPUP_PANEL_MENU_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4548"><td class="num" id="LN4548">4548</td><td class="line"> g_signal_new (<span class='string_literal'>"popup-panel-menu"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4549"><td class="num" id="LN4549">4549</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4550"><td class="num" id="LN4550">4550</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4551"><td class="num" id="LN4551">4551</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, popup_panel_menu)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, popup_panel_menu<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4552"><td class="num" id="LN4552">4552</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4553"><td class="num" id="LN4553">4553</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4554"><td class="num" id="LN4554">4554</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4555"><td class="num" id="LN4555">4555</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4556"><td class="num" id="LN4556">4556</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4557"><td class="num" id="LN4557">4557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4558"><td class="num" id="LN4558">4558</td><td class="line"> toplevel_signals [TOGGLE_EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4559"><td class="num" id="LN4559">4559</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4560"><td class="num" id="LN4560">4560</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4561"><td class="num" id="LN4561">4561</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4562"><td class="num" id="LN4562">4562</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_expand<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4563"><td class="num" id="LN4563">4563</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4564"><td class="num" id="LN4564">4564</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4565"><td class="num" id="LN4565">4565</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4566"><td class="num" id="LN4566">4566</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4567"><td class="num" id="LN4567">4567</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4568"><td class="num" id="LN4568">4568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4569"><td class="num" id="LN4569">4569</td><td class="line"> toplevel_signals [EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4570"><td class="num" id="LN4570">4570</td><td class="line"> g_signal_new (<span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4571"><td class="num" id="LN4571">4571</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4572"><td class="num" id="LN4572">4572</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4573"><td class="num" id="LN4573">4573</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, expand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4574"><td class="num" id="LN4574">4574</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4575"><td class="num" id="LN4575">4575</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4576"><td class="num" id="LN4576">4576</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4577"><td class="num" id="LN4577">4577</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4578"><td class="num" id="LN4578">4578</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4579"><td class="num" id="LN4579">4579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4580"><td class="num" id="LN4580">4580</td><td class="line"> toplevel_signals [UNEXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4581"><td class="num" id="LN4581">4581</td><td class="line"> g_signal_new (<span class='string_literal'>"unexpand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4582"><td class="num" id="LN4582">4582</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4583"><td class="num" id="LN4583">4583</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4584"><td class="num" id="LN4584">4584</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unexpand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unexpand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4585"><td class="num" id="LN4585">4585</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4586"><td class="num" id="LN4586">4586</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4587"><td class="num" id="LN4587">4587</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4588"><td class="num" id="LN4588">4588</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4589"><td class="num" id="LN4589">4589</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4590"><td class="num" id="LN4590">4590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4591"><td class="num" id="LN4591">4591</td><td class="line"> toplevel_signals [TOGGLE_HIDDEN_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4592"><td class="num" id="LN4592">4592</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4593"><td class="num" id="LN4593">4593</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4594"><td class="num" id="LN4594">4594</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4595"><td class="num" id="LN4595">4595</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_hidden)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_hidden<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4596"><td class="num" id="LN4596">4596</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4597"><td class="num" id="LN4597">4597</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4598"><td class="num" id="LN4598">4598</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4599"><td class="num" id="LN4599">4599</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4600"><td class="num" id="LN4600">4600</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4601"><td class="num" id="LN4601">4601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4602"><td class="num" id="LN4602">4602</td><td class="line"> toplevel_signals [BEGIN_MOVE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4603"><td class="num" id="LN4603">4603</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4604"><td class="num" id="LN4604">4604</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4605"><td class="num" id="LN4605">4605</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4606"><td class="num" id="LN4606">4606</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_move)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_move))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4607"><td class="num" id="LN4607">4607</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4608"><td class="num" id="LN4608">4608</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4609"><td class="num" id="LN4609">4609</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4610"><td class="num" id="LN4610">4610</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4611"><td class="num" id="LN4611">4611</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4612"><td class="num" id="LN4612">4612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4613"><td class="num" id="LN4613">4613</td><td class="line"> toplevel_signals [BEGIN_RESIZE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4614"><td class="num" id="LN4614">4614</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-resize"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4615"><td class="num" id="LN4615">4615</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4616"><td class="num" id="LN4616">4616</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4617"><td class="num" id="LN4617">4617</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_resize)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_resize)<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4618"><td class="num" id="LN4618">4618</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4619"><td class="num" id="LN4619">4619</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4620"><td class="num" id="LN4620">4620</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4621"><td class="num" id="LN4621">4621</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4622"><td class="num" id="LN4622">4622</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4623"><td class="num" id="LN4623">4623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4624"><td class="num" id="LN4624">4624</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_F10<span class='macro_popup'>0xffc7</span></span>, GDK_CONTROL_MASK,</td></tr>
+<tr class="codeline" data-linenumber="4625"><td class="num" id="LN4625">4625</td><td class="line"> <span class='string_literal'>"popup_panel_menu"</span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="4626"><td class="num" id="LN4626">4626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4627"><td class="num" id="LN4627">4627</td><td class="line"> panel_bindings_set_entries (binding_set);</td></tr>
+<tr class="codeline" data-linenumber="4628"><td class="num" id="LN4628">4628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4629"><td class="num" id="LN4629">4629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4630"><td class="num" id="LN4630">4630</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4631"><td class="num" id="LN4631">4631</td><td class="line">panel_toplevel_setup_widgets (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4632"><td class="num" id="LN4632">4632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4633"><td class="num" id="LN4633">4633</td><td class="line"> GtkWidget* container;</td></tr>
+<tr class="codeline" data-linenumber="4634"><td class="num" id="LN4634">4634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4635"><td class="num" id="LN4635">4635</td><td class="line"> toplevel-&gt;priv-&gt;grid = gtk_grid_new ();</td></tr>
+<tr class="codeline" data-linenumber="4636"><td class="num" id="LN4636">4636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4637"><td class="num" id="LN4637">4637</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_UP, 1, 0);</td></tr>
+<tr class="codeline" data-linenumber="4638"><td class="num" id="LN4638">4638</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_DOWN, 1, 2);</td></tr>
+<tr class="codeline" data-linenumber="4639"><td class="num" id="LN4639">4639</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_LEFT, 0, 1);</td></tr>
+<tr class="codeline" data-linenumber="4640"><td class="num" id="LN4640">4640</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_RIGHT, 2, 1);</td></tr>
+<tr class="codeline" data-linenumber="4641"><td class="num" id="LN4641">4641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4642"><td class="num" id="LN4642">4642</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4643"><td class="num" id="LN4643">4643</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4644"><td class="num" id="LN4644">4644</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="4645"><td class="num" id="LN4645">4645</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="4646"><td class="num" id="LN4646">4646</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4647"><td class="num" id="LN4647">4647</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4648"><td class="num" id="LN4648">4648</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4649"><td class="num" id="LN4649">4649</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="4650"><td class="num" id="LN4650">4650</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4651"><td class="num" id="LN4651">4651</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4652"><td class="num" id="LN4652">4652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4653"><td class="num" id="LN4653">4653</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = g_object_new(<span class='macro'>PANEL_TYPE_FRAME<span class='macro_popup'>(panel_frame_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4654"><td class="num" id="LN4654">4654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4655"><td class="num" id="LN4655">4655</td><td class="line"> gtk_widget_set_hexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4656"><td class="num" id="LN4656">4656</td><td class="line"> gtk_widget_set_vexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4657"><td class="num" id="LN4657">4657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4658"><td class="num" id="LN4658">4658</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, <span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, 1, 1, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="4659"><td class="num" id="LN4659">4659</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4660"><td class="num" id="LN4660">4660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4661"><td class="num" id="LN4661">4661</td><td class="line"> container = panel_widget_new (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4662"><td class="num" id="LN4662">4662</td><td class="line"> !toplevel-&gt;priv-&gt;expand,</td></tr>
+<tr class="codeline" data-linenumber="4663"><td class="num" id="LN4663">4663</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="4664"><td class="num" id="LN4664">4664</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="4665"><td class="num" id="LN4665">4665</td><td class="line"> GTK_ORIENTATION_VERTICAL,</td></tr>
+<tr class="codeline" data-linenumber="4666"><td class="num" id="LN4666">4666</td><td class="line"> toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4667"><td class="num" id="LN4667">4667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4668"><td class="num" id="LN4668">4668</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>PANEL_WIDGET(container)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((panel_widget_get_type()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4669"><td class="num" id="LN4669">4669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4670"><td class="num" id="LN4670">4670</td><td class="line"> gtk_container_add(<span class='macro'>GTK_CONTAINER(toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_container_get_type<br> ()))))))</span></span>, container);</td></tr>
+<tr class="codeline" data-linenumber="4671"><td class="num" id="LN4671">4671</td><td class="line"> gtk_widget_show(container);</td></tr>
+<tr class="codeline" data-linenumber="4672"><td class="num" id="LN4672">4672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4673"><td class="num" id="LN4673">4673</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (toplevel)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_container_get_type ()))))))</span></span>, toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4674"><td class="num" id="LN4674">4674</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4675"><td class="num" id="LN4675">4675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4676"><td class="num" id="LN4676">4676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4677"><td class="num" id="LN4677">4677</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4678"><td class="num" id="LN4678">4678</td><td class="line">background_changed (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="4679"><td class="num" id="LN4679">4679</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4680"><td class="num" id="LN4680">4680</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4681"><td class="num" id="LN4681">4681</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4682"><td class="num" id="LN4682">4682</td><td class="line"> panel_widget_emit_background_changed (toplevel-&gt;priv-&gt;panel_widget);</td></tr>
+<tr class="codeline" data-linenumber="4683"><td class="num" id="LN4683">4683</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4684"><td class="num" id="LN4684">4684</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4685"><td class="num" id="LN4685">4685</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4686"><td class="num" id="LN4686">4686</td><td class="line">panel_toplevel_init (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4687"><td class="num" id="LN4687">4687</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4688"><td class="num" id="LN4688">4688</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="4689"><td class="num" id="LN4689">4689</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="4690"><td class="num" id="LN4690">4690</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4691"><td class="num" id="LN4691">4691</td><td class="line"> toplevel-&gt;priv = panel_toplevel_get_instance_private (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4692"><td class="num" id="LN4692">4692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4693"><td class="num" id="LN4693">4693</td><td class="line"> toplevel-&gt;priv-&gt;expand = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4694"><td class="num" id="LN4694">4694</td><td class="line"> toplevel-&gt;priv-&gt;orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="4695"><td class="num" id="LN4695">4695</td><td class="line"> toplevel-&gt;priv-&gt;size = <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4696"><td class="num" id="LN4696">4696</td><td class="line"> toplevel-&gt;priv-&gt;scale = gtk_widget_get_scale_factor (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4697"><td class="num" id="LN4697">4697</td><td class="line"> toplevel-&gt;priv-&gt;x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4698"><td class="num" id="LN4698">4698</td><td class="line"> toplevel-&gt;priv-&gt;y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4699"><td class="num" id="LN4699">4699</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4700"><td class="num" id="LN4700">4700</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4701"><td class="num" id="LN4701">4701</td><td class="line"> toplevel-&gt;priv-&gt;monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="4702"><td class="num" id="LN4702">4702</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = -1;</td></tr>
+<tr class="codeline" data-linenumber="4703"><td class="num" id="LN4703">4703</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4704"><td class="num" id="LN4704">4704</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4705"><td class="num" id="LN4705">4705</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4706"><td class="num" id="LN4706">4706</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = PANEL_ANIMATION_FAST;</td></tr>
+<tr class="codeline" data-linenumber="4707"><td class="num" id="LN4707">4707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4708"><td class="num" id="LN4708">4708</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4709"><td class="num" id="LN4709">4709</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4710"><td class="num" id="LN4710">4710</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4711"><td class="num" id="LN4711">4711</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="4712"><td class="num" id="LN4712">4712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4713"><td class="num" id="LN4713">4713</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4714"><td class="num" id="LN4714">4714</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4715"><td class="num" id="LN4715">4715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4716"><td class="num" id="LN4716">4716</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4717"><td class="num" id="LN4717">4717</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4718"><td class="num" id="LN4718">4718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4719"><td class="num" id="LN4719">4719</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = -1;</td></tr>
+<tr class="codeline" data-linenumber="4720"><td class="num" id="LN4720">4720</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = -1;</td></tr>
+<tr class="codeline" data-linenumber="4721"><td class="num" id="LN4721">4721</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4722"><td class="num" id="LN4722">4722</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4723"><td class="num" id="LN4723">4723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4724"><td class="num" id="LN4724">4724</td><td class="line"> toplevel-&gt;priv-&gt;original_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4725"><td class="num" id="LN4725">4725</td><td class="line"> toplevel-&gt;priv-&gt;original_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4726"><td class="num" id="LN4726">4726</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4727"><td class="num" id="LN4727">4727</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="4728"><td class="num" id="LN4728">4728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4729"><td class="num" id="LN4729">4729</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4730"><td class="num" id="LN4730">4730</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4731"><td class="num" id="LN4731">4731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4732"><td class="num" id="LN4732">4732</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4733"><td class="num" id="LN4733">4733</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4734"><td class="num" id="LN4734">4734</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0;</td></tr>
+<tr class="codeline" data-linenumber="4735"><td class="num" id="LN4735">4735</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0;</td></tr>
+<tr class="codeline" data-linenumber="4736"><td class="num" id="LN4736">4736</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4737"><td class="num" id="LN4737">4737</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4738"><td class="num" id="LN4738">4738</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4739"><td class="num" id="LN4739">4739</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4740"><td class="num" id="LN4740">4740</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4741"><td class="num" id="LN4741">4741</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4742"><td class="num" id="LN4742">4742</td><td class="line"> toplevel-&gt;priv-&gt;grid = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4743"><td class="num" id="LN4743">4743</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4744"><td class="num" id="LN4744">4744</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4745"><td class="num" id="LN4745">4745</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4746"><td class="num" id="LN4746">4746</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4747"><td class="num" id="LN4747">4747</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4748"><td class="num" id="LN4748">4748</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4749"><td class="num" id="LN4749">4749</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4750"><td class="num" id="LN4750">4750</td><td class="line"> toplevel-&gt;priv-&gt;n_autohide_disablers = 0;</td></tr>
+<tr class="codeline" data-linenumber="4751"><td class="num" id="LN4751">4751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4752"><td class="num" id="LN4752">4752</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4753"><td class="num" id="LN4753">4753</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4754"><td class="num" id="LN4754">4754</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4755"><td class="num" id="LN4755">4755</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4756"><td class="num" id="LN4756">4756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4757"><td class="num" id="LN4757">4757</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4758"><td class="num" id="LN4758">4758</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4759"><td class="num" id="LN4759">4759</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4760"><td class="num" id="LN4760">4760</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4761"><td class="num" id="LN4761">4761</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4762"><td class="num" id="LN4762">4762</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4763"><td class="num" id="LN4763">4763</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4764"><td class="num" id="LN4764">4764</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4765"><td class="num" id="LN4765">4765</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4766"><td class="num" id="LN4766">4766</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4767"><td class="num" id="LN4767">4767</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4768"><td class="num" id="LN4768">4768</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4769"><td class="num" id="LN4769">4769</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4770"><td class="num" id="LN4770">4770</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4771"><td class="num" id="LN4771">4771</td><td class="line"> gtk_widget_add_events (widget,</td></tr>
+<tr class="codeline" data-linenumber="4772"><td class="num" id="LN4772">4772</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4773"><td class="num" id="LN4773">4773</td><td class="line"> GDK_BUTTON_RELEASE_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4774"><td class="num" id="LN4774">4774</td><td class="line"> GDK_POINTER_MOTION_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4775"><td class="num" id="LN4775">4775</td><td class="line"> GDK_ENTER_NOTIFY_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4776"><td class="num" id="LN4776">4776</td><td class="line"> GDK_LEAVE_NOTIFY_MASK);</td></tr>
+<tr class="codeline" data-linenumber="4777"><td class="num" id="LN4777">4777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4778"><td class="num" id="LN4778">4778</td><td class="line"> gtk_widget_set_app_paintable (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4779"><td class="num" id="LN4779">4779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4780"><td class="num" id="LN4780">4780</td><td class="line"> panel_toplevel_setup_widgets (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4781"><td class="num" id="LN4781">4781</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4782"><td class="num" id="LN4782">4782</td><td class="line"> panel_toplevel_update_gtk_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4783"><td class="num" id="LN4783">4783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4784"><td class="num" id="LN4784">4784</td><td class="line"> toplevel_list = g_slist_prepend (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4785"><td class="num" id="LN4785">4785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4786"><td class="num" id="LN4786">4786</td><td class="line"> <span class='comment'>/* Prevent the window from being deleted via Alt+F4 by accident. This</span></td></tr>
+<tr class="codeline" data-linenumber="4787"><td class="num" id="LN4787">4787</td><td class="line"> <span class='comment'>* happens with "alternative" window managers such as Sawfish or XFWM4.</span></td></tr>
+<tr class="codeline" data-linenumber="4788"><td class="num" id="LN4788">4788</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="4789"><td class="num" id="LN4789">4789</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"delete-event"</span>, G_CALLBACK(gtk_true), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("delete-event"), (((GCallback<br>) (gtk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4790"><td class="num" id="LN4790">4790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4791"><td class="num" id="LN4791">4791</td><td class="line"> panel_background_init (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="4792"><td class="num" id="LN4792">4792</td><td class="line"> (PanelBackgroundChangedNotify) background_changed,</td></tr>
+<tr class="codeline" data-linenumber="4793"><td class="num" id="LN4793">4793</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4794"><td class="num" id="LN4794">4794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4795"><td class="num" id="LN4795">4795</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4796"><td class="num" id="LN4796">4796</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4797"><td class="num" id="LN4797">4797</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4798"><td class="num" id="LN4798">4798</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="4799"><td class="num" id="LN4799">4799</td><td class="line"> wayland_panel_toplevel_init (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4800"><td class="num" id="LN4800">4800</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4801"><td class="num" id="LN4801">4801</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="4802"><td class="num" id="LN4802">4802</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4803"><td class="num" id="LN4803">4803</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4804"><td class="num" id="LN4804">4804</td><td class="line">PanelWidget *</td></tr>
+<tr class="codeline" data-linenumber="4805"><td class="num" id="LN4805">4805</td><td class="line">panel_toplevel_get_panel_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4806"><td class="num" id="LN4806">4806</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4807"><td class="num" id="LN4807">4807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4808"><td class="num" id="LN4808">4808</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4809"><td class="num" id="LN4809">4809</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4810"><td class="num" id="LN4810">4810</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="4811"><td class="num" id="LN4811">4811</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4812"><td class="num" id="LN4812">4812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4813"><td class="num" id="LN4813">4813</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4814"><td class="num" id="LN4814">4814</td><td class="line">panel_toplevel_update_name (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4815"><td class="num" id="LN4815">4815</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4816"><td class="num" id="LN4816">4816</td><td class="line"> <span class='keyword'>char</span> *title;</td></tr>
+<tr class="codeline" data-linenumber="4817"><td class="num" id="LN4817">4817</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4818"><td class="num" id="LN4818">4818</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;description != NULL)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;description != ((void*)0)) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 4818<br>, ((const char*) (__func__)), "toplevel-&gt;priv-&gt;description != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4819"><td class="num" id="LN4819">4819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4820"><td class="num" id="LN4820">4820</td><td class="line"> title = toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name : toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4821"><td class="num" id="LN4821">4821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4822"><td class="num" id="LN4822">4822</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>, title);</td></tr>
+<tr class="codeline" data-linenumber="4823"><td class="num" id="LN4823">4823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4824"><td class="num" id="LN4824">4824</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="4825"><td class="num" id="LN4825">4825</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4826"><td class="num" id="LN4826">4826</td><td class="line"> title, toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="4827"><td class="num" id="LN4827">4827</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4828"><td class="num" id="LN4828">4828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4829"><td class="num" id="LN4829">4829</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4830"><td class="num" id="LN4830">4830</td><td class="line">panel_toplevel_set_name (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4831"><td class="num" id="LN4831">4831</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name)</td></tr>
+<tr class="codeline" data-linenumber="4832"><td class="num" id="LN4832">4832</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4833"><td class="num" id="LN4833">4833</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4834"><td class="num" id="LN4834">4834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4835"><td class="num" id="LN4835">4835</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name &amp;&amp; (!name || !name [0]))</td></tr>
+<tr class="codeline" data-linenumber="4836"><td class="num" id="LN4836">4836</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4837"><td class="num" id="LN4837">4837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4838"><td class="num" id="LN4838">4838</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;name &amp;&amp; name &amp;&amp; name [0] &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4839"><td class="num" id="LN4839">4839</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;name, name))</td></tr>
+<tr class="codeline" data-linenumber="4840"><td class="num" id="LN4840">4840</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4841"><td class="num" id="LN4841">4841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4842"><td class="num" id="LN4842">4842</td><td class="line"> g_free (toplevel-&gt;priv-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="4843"><td class="num" id="LN4843">4843</td><td class="line"> <span class='keyword'>if</span> (name &amp;&amp; name [0])</td></tr>
+<tr class="codeline" data-linenumber="4844"><td class="num" id="LN4844">4844</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>g_strdup (name)<span class='macro_popup'>g_strdup_inline (name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4845"><td class="num" id="LN4845">4845</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4846"><td class="num" id="LN4846">4846</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4847"><td class="num" id="LN4847">4847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4848"><td class="num" id="LN4848">4848</td><td class="line"> panel_toplevel_update_name (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4849"><td class="num" id="LN4849">4849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4850"><td class="num" id="LN4850">4850</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4851"><td class="num" id="LN4851">4851</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4852"><td class="num" id="LN4852">4852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4853"><td class="num" id="LN4853">4853</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4854"><td class="num" id="LN4854">4854</td><td class="line">panel_toplevel_set_settings_path (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4855"><td class="num" id="LN4855">4855</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *settings_path)</td></tr>
+<tr class="codeline" data-linenumber="4856"><td class="num" id="LN4856">4856</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4857"><td class="num" id="LN4857">4857</td><td class="line"> toplevel-&gt;priv-&gt;settings_path = <span class='macro'>g_strdup (settings_path)<span class='macro_popup'>g_strdup_inline (settings_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4858"><td class="num" id="LN4858">4858</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4859"><td class="num" id="LN4859">4859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4860"><td class="num" id="LN4860">4860</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_name(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4861"><td class="num" id="LN4861">4861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4862"><td class="num" id="LN4862">4862</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4863"><td class="num" id="LN4863">4863</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4864"><td class="num" id="LN4864">4864</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;name;</td></tr>
+<tr class="codeline" data-linenumber="4865"><td class="num" id="LN4865">4865</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4866"><td class="num" id="LN4866">4866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4867"><td class="num" id="LN4867">4867</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4868"><td class="num" id="LN4868">4868</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4869"><td class="num" id="LN4869">4869</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4870"><td class="num" id="LN4870">4870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4871"><td class="num" id="LN4871">4871</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4872"><td class="num" id="LN4872">4872</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4873"><td class="num" id="LN4873">4873</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4874"><td class="num" id="LN4874">4874</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4875"><td class="num" id="LN4875">4875</td><td class="line">panel_toplevel_set_expand (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4876"><td class="num" id="LN4876">4876</td><td class="line"> gboolean expand)</td></tr>
+<tr class="codeline" data-linenumber="4877"><td class="num" id="LN4877">4877</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4878"><td class="num" id="LN4878">4878</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4879"><td class="num" id="LN4879">4879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4880"><td class="num" id="LN4880">4880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; expand) {</td></tr>
+<tr class="codeline" data-linenumber="4881"><td class="num" id="LN4881">4881</td><td class="line"> g_warning (<span class='string_literal'>"attempt to expand attached toplevel; ignoring"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4882"><td class="num" id="LN4882">4882</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4883"><td class="num" id="LN4883">4883</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4884"><td class="num" id="LN4884">4884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4885"><td class="num" id="LN4885">4885</td><td class="line"> expand = expand != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4886"><td class="num" id="LN4886">4886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4887"><td class="num" id="LN4887">4887</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand == expand)</td></tr>
+<tr class="codeline" data-linenumber="4888"><td class="num" id="LN4888">4888</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4889"><td class="num" id="LN4889">4889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4890"><td class="num" id="LN4890">4890</td><td class="line"> toplevel-&gt;priv-&gt;expand = expand;</td></tr>
+<tr class="codeline" data-linenumber="4891"><td class="num" id="LN4891">4891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4892"><td class="num" id="LN4892">4892</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp; toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4893"><td class="num" id="LN4893">4893</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="4894"><td class="num" id="LN4894">4894</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="4895"><td class="num" id="LN4895">4895</td><td class="line"> panel_toplevel_set_x (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4896"><td class="num" id="LN4896">4896</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4897"><td class="num" id="LN4897">4897</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4898"><td class="num" id="LN4898">4898</td><td class="line"> panel_toplevel_set_x (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4899"><td class="num" id="LN4899">4899</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4900"><td class="num" id="LN4900">4900</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="4901"><td class="num" id="LN4901">4901</td><td class="line"> panel_toplevel_set_y (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4902"><td class="num" id="LN4902">4902</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4903"><td class="num" id="LN4903">4903</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4904"><td class="num" id="LN4904">4904</td><td class="line"> panel_toplevel_set_y (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4905"><td class="num" id="LN4905">4905</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4906"><td class="num" id="LN4906">4906</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4907"><td class="num" id="LN4907">4907</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 4907, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4908"><td class="num" id="LN4908">4908</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4909"><td class="num" id="LN4909">4909</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4910"><td class="num" id="LN4910">4910</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4911"><td class="num" id="LN4911">4911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4912"><td class="num" id="LN4912">4912</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4913"><td class="num" id="LN4913">4913</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4914"><td class="num" id="LN4914">4914</td><td class="line"> panel_widget_set_packed (toplevel-&gt;priv-&gt;panel_widget, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4915"><td class="num" id="LN4915">4915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4916"><td class="num" id="LN4916">4916</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"expand"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4917"><td class="num" id="LN4917">4917</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4918"><td class="num" id="LN4918">4918</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4919"><td class="num" id="LN4919">4919</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4920"><td class="num" id="LN4920">4920</td><td class="line">panel_toplevel_get_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4921"><td class="num" id="LN4921">4921</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4922"><td class="num" id="LN4922">4922</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4923"><td class="num" id="LN4923">4923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4924"><td class="num" id="LN4924">4924</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;expand;</td></tr>
+<tr class="codeline" data-linenumber="4925"><td class="num" id="LN4925">4925</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4926"><td class="num" id="LN4926">4926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4927"><td class="num" id="LN4927">4927</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4928"><td class="num" id="LN4928">4928</td><td class="line">panel_toplevel_get_is_floating (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4929"><td class="num" id="LN4929">4929</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4930"><td class="num" id="LN4930">4930</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4931"><td class="num" id="LN4931">4931</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4932"><td class="num" id="LN4932">4932</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;floating;</td></tr>
+<tr class="codeline" data-linenumber="4933"><td class="num" id="LN4933">4933</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4934"><td class="num" id="LN4934">4934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4935"><td class="num" id="LN4935">4935</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4936"><td class="num" id="LN4936">4936</td><td class="line">panel_toplevel_set_orientation (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4937"><td class="num" id="LN4937">4937</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="4938"><td class="num" id="LN4938">4938</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4939"><td class="num" id="LN4939">4939</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="4940"><td class="num" id="LN4940">4940</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="4941"><td class="num" id="LN4941">4941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4942"><td class="num" id="LN4942">4942</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4943"><td class="num" id="LN4943">4943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4944"><td class="num" id="LN4944">4944</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation == orientation)</td></tr>
+<tr class="codeline" data-linenumber="4945"><td class="num" id="LN4945">4945</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4946"><td class="num" id="LN4946">4946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4947"><td class="num" id="LN4947">4947</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4948"><td class="num" id="LN4948">4948</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4949"><td class="num" id="LN4949">4949</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="4950"><td class="num" id="LN4950">4950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4951"><td class="num" id="LN4951">4951</td><td class="line"> <span class='comment'>/* Un-snap from center if no longer along screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="4952"><td class="num" id="LN4952">4952</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4953"><td class="num" id="LN4953">4953</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4954"><td class="num" id="LN4954">4954</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4955"><td class="num" id="LN4955">4955</td><td class="line"> toplevel-&gt;priv-&gt;x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4956"><td class="num" id="LN4956">4956</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4957"><td class="num" id="LN4957">4957</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4958"><td class="num" id="LN4958">4958</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4959"><td class="num" id="LN4959">4959</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4960"><td class="num" id="LN4960">4960</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4961"><td class="num" id="LN4961">4961</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4962"><td class="num" id="LN4962">4962</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4963"><td class="num" id="LN4963">4963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4964"><td class="num" id="LN4964">4964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4965"><td class="num" id="LN4965">4965</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4966"><td class="num" id="LN4966">4966</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4967"><td class="num" id="LN4967">4967</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4968"><td class="num" id="LN4968">4968</td><td class="line"> toplevel-&gt;priv-&gt;y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4969"><td class="num" id="LN4969">4969</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4970"><td class="num" id="LN4970">4970</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4971"><td class="num" id="LN4971">4971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4972"><td class="num" id="LN4972">4972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4973"><td class="num" id="LN4973">4973</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4974"><td class="num" id="LN4974">4974</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4975"><td class="num" id="LN4975">4975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4976"><td class="num" id="LN4976">4976</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4977"><td class="num" id="LN4977">4977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4978"><td class="num" id="LN4978">4978</td><td class="line"> rotate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4979"><td class="num" id="LN4979">4979</td><td class="line"> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4980"><td class="num" id="LN4980">4980</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4981"><td class="num" id="LN4981">4981</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4982"><td class="num" id="LN4982">4982</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4983"><td class="num" id="LN4983">4983</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4984"><td class="num" id="LN4984">4984</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4985"><td class="num" id="LN4985">4985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4986"><td class="num" id="LN4986">4986</td><td class="line"> <span class='comment'>/* rotate around the center */</span></td></tr>
+<tr class="codeline" data-linenumber="4987"><td class="num" id="LN4987">4987</td><td class="line"> <span class='keyword'>if</span> (rotate &amp;&amp; !toplevel-&gt;priv-&gt;position_centered &amp;&amp; !toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4988"><td class="num" id="LN4988">4988</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4989"><td class="num" id="LN4989">4989</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4990"><td class="num" id="LN4990">4990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4991"><td class="num" id="LN4991">4991</td><td class="line"> <span class='comment'>/* x, y temporary refer to the panel center, so we don't care</span></td></tr>
+<tr class="codeline" data-linenumber="4992"><td class="num" id="LN4992">4992</td><td class="line"> <span class='comment'>* about x_right, y_bottom. Those will get updated in</span></td></tr>
+<tr class="codeline" data-linenumber="4993"><td class="num" id="LN4993">4993</td><td class="line"> <span class='comment'>* panel_toplevel_update_position() accordingly. */</span></td></tr>
+<tr class="codeline" data-linenumber="4994"><td class="num" id="LN4994">4994</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="4995"><td class="num" id="LN4995">4995</td><td class="line"> toplevel-&gt;priv-&gt;x += toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="4996"><td class="num" id="LN4996">4996</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4997"><td class="num" id="LN4997">4997</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4998"><td class="num" id="LN4998">4998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4999"><td class="num" id="LN4999">4999</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5000"><td class="num" id="LN5000">5000</td><td class="line"> toplevel-&gt;priv-&gt;y += toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="5001"><td class="num" id="LN5001">5001</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5002"><td class="num" id="LN5002">5002</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5003"><td class="num" id="LN5003">5003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5004"><td class="num" id="LN5004">5004</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5005"><td class="num" id="LN5005">5005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5006"><td class="num" id="LN5006">5006</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="5007"><td class="num" id="LN5007">5007</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5008"><td class="num" id="LN5008">5008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5009"><td class="num" id="LN5009">5009</td><td class="line"> gtk_widget_reset_style (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5010"><td class="num" id="LN5010">5010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5011"><td class="num" id="LN5011">5011</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5012"><td class="num" id="LN5012">5012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5013"><td class="num" id="LN5013">5013</td><td class="line"> panel_widget_set_orientation (</td></tr>
+<tr class="codeline" data-linenumber="5014"><td class="num" id="LN5014">5014</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="5015"><td class="num" id="LN5015">5015</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="5016"><td class="num" id="LN5016">5016</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="5017"><td class="num" id="LN5017">5017</td><td class="line"> GTK_ORIENTATION_VERTICAL);</td></tr>
+<tr class="codeline" data-linenumber="5018"><td class="num" id="LN5018">5018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5019"><td class="num" id="LN5019">5019</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="5020"><td class="num" id="LN5020">5020</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="5021"><td class="num" id="LN5021">5021</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5022"><td class="num" id="LN5022">5022</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5023"><td class="num" id="LN5023">5023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5024"><td class="num" id="LN5024">5024</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="5025"><td class="num" id="LN5025">5025</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5026"><td class="num" id="LN5026">5026</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="5027"><td class="num" id="LN5027">5027</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5028"><td class="num" id="LN5028">5028</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="5029"><td class="num" id="LN5029">5029</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5030"><td class="num" id="LN5030">5030</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="5031"><td class="num" id="LN5031">5031</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5032"><td class="num" id="LN5032">5032</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="5033"><td class="num" id="LN5033">5033</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5034"><td class="num" id="LN5034">5034</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="5035"><td class="num" id="LN5035">5035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5036"><td class="num" id="LN5036">5036</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="5037"><td class="num" id="LN5037">5037</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5038"><td class="num" id="LN5038">5038</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5039"><td class="num" id="LN5039">5039</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5040"><td class="num" id="LN5040">5040</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5041"><td class="num" id="LN5041">5041</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5042"><td class="num" id="LN5042">5042</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5043"><td class="num" id="LN5043">5043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5044"><td class="num" id="LN5044">5044</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5045"><td class="num" id="LN5045">5045</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5046"><td class="num" id="LN5046">5046</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="5047"><td class="num" id="LN5047">5047</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="5048"><td class="num" id="LN5048">5048</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5049"><td class="num" id="LN5049">5049</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5050"><td class="num" id="LN5050">5050</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="5051"><td class="num" id="LN5051">5051</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5052"><td class="num" id="LN5052">5052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5053"><td class="num" id="LN5053">5053</td><td class="line">PanelOrientation</td></tr>
+<tr class="codeline" data-linenumber="5054"><td class="num" id="LN5054">5054</td><td class="line">panel_toplevel_get_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5055"><td class="num" id="LN5055">5055</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5056"><td class="num" id="LN5056">5056</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), PANEL_ORIENTATION_TOP)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (PANEL_ORIENTATION_TOP<br>); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5057"><td class="num" id="LN5057">5057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5058"><td class="num" id="LN5058">5058</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5059"><td class="num" id="LN5059">5059</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5060"><td class="num" id="LN5060">5060</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5061"><td class="num" id="LN5061">5061</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5062"><td class="num" id="LN5062">5062</td><td class="line">panel_toplevel_set_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5063"><td class="num" id="LN5063">5063</td><td class="line"> <span class='keyword'>int</span> size)</td></tr>
+<tr class="codeline" data-linenumber="5064"><td class="num" id="LN5064">5064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5065"><td class="num" id="LN5065">5065</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5066"><td class="num" id="LN5066">5066</td><td class="line"> <span class='macro'>g_return_if_fail (size &gt;= 0)<span class='macro_popup'>do { if ((size &gt;= 0)) { } else { g_return_if_fail_warning (<br>((gchar*) 0), ((const char*) (__func__)), "size &gt;= 0"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5067"><td class="num" id="LN5067">5067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5068"><td class="num" id="LN5068">5068</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="5069"><td class="num" id="LN5069">5069</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5070"><td class="num" id="LN5070">5070</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5071"><td class="num" id="LN5071">5071</td><td class="line"> toplevel-&gt;priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="5072"><td class="num" id="LN5072">5072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5073"><td class="num" id="LN5073">5073</td><td class="line"> panel_widget_set_size (toplevel-&gt;priv-&gt;panel_widget, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="5074"><td class="num" id="LN5074">5074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5075"><td class="num" id="LN5075">5075</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5076"><td class="num" id="LN5076">5076</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5077"><td class="num" id="LN5077">5077</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5078"><td class="num" id="LN5078">5078</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5079"><td class="num" id="LN5079">5079</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5080"><td class="num" id="LN5080">5080</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5081"><td class="num" id="LN5081">5081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5082"><td class="num" id="LN5082">5082</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5083"><td class="num" id="LN5083">5083</td><td class="line">panel_toplevel_get_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5084"><td class="num" id="LN5084">5084</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5085"><td class="num" id="LN5085">5085</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (48); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5086"><td class="num" id="LN5086">5086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5087"><td class="num" id="LN5087">5087</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="5088"><td class="num" id="LN5088">5088</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5089"><td class="num" id="LN5089">5089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5090"><td class="num" id="LN5090">5090</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5091"><td class="num" id="LN5091">5091</td><td class="line">panel_toplevel_set_auto_hide_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5092"><td class="num" id="LN5092">5092</td><td class="line"> <span class='keyword'>int</span> auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5093"><td class="num" id="LN5093">5093</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5094"><td class="num" id="LN5094">5094</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5095"><td class="num" id="LN5095">5095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5096"><td class="num" id="LN5096">5096</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide_size == auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5097"><td class="num" id="LN5097">5097</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5098"><td class="num" id="LN5098">5098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5099"><td class="num" id="LN5099">5099</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5100"><td class="num" id="LN5100">5100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5101"><td class="num" id="LN5101">5101</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="5102"><td class="num" id="LN5102">5102</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="5103"><td class="num" id="LN5103">5103</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate) {</td></tr>
+<tr class="codeline" data-linenumber="5104"><td class="num" id="LN5104">5104</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5105"><td class="num" id="LN5105">5105</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="5106"><td class="num" id="LN5106">5106</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5107"><td class="num" id="LN5107">5107</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5108"><td class="num" id="LN5108">5108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5109"><td class="num" id="LN5109">5109</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5110"><td class="num" id="LN5110">5110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5111"><td class="num" id="LN5111">5111</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide-size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5112"><td class="num" id="LN5112">5112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5113"><td class="num" id="LN5113">5113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5114"><td class="num" id="LN5114">5114</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5115"><td class="num" id="LN5115">5115</td><td class="line">panel_toplevel_get_auto_hide_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5116"><td class="num" id="LN5116">5116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5117"><td class="num" id="LN5117">5117</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_AUTO_HIDE_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5118"><td class="num" id="LN5118">5118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5119"><td class="num" id="LN5119">5119</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5120"><td class="num" id="LN5120">5120</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5121"><td class="num" id="LN5121">5121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5122"><td class="num" id="LN5122">5122</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5123"><td class="num" id="LN5123">5123</td><td class="line">panel_toplevel_set_x (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5124"><td class="num" id="LN5124">5124</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="5125"><td class="num" id="LN5125">5125</td><td class="line"> <span class='keyword'>int</span> x_right,</td></tr>
+<tr class="codeline" data-linenumber="5126"><td class="num" id="LN5126">5126</td><td class="line"> gboolean x_centered)</td></tr>
+<tr class="codeline" data-linenumber="5127"><td class="num" id="LN5127">5127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5128"><td class="num" id="LN5128">5128</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5129"><td class="num" id="LN5129">5129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5130"><td class="num" id="LN5130">5130</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5131"><td class="num" id="LN5131">5131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5132"><td class="num" id="LN5132">5132</td><td class="line"> x_centered = x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5133"><td class="num" id="LN5133">5133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5134"><td class="num" id="LN5134">5134</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5135"><td class="num" id="LN5135">5135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5136"><td class="num" id="LN5136">5136</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="5137"><td class="num" id="LN5137">5137</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="5138"><td class="num" id="LN5138">5138</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5139"><td class="num" id="LN5139">5139</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5140"><td class="num" id="LN5140">5140</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5141"><td class="num" id="LN5141">5141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5142"><td class="num" id="LN5142">5142</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="5143"><td class="num" id="LN5143">5143</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="5144"><td class="num" id="LN5144">5144</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5145"><td class="num" id="LN5145">5145</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5146"><td class="num" id="LN5146">5146</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5147"><td class="num" id="LN5147">5147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5148"><td class="num" id="LN5148">5148</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered != x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5149"><td class="num" id="LN5149">5149</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = (x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5150"><td class="num" id="LN5150">5150</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5151"><td class="num" id="LN5151">5151</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5152"><td class="num" id="LN5152">5152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5153"><td class="num" id="LN5153">5153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5154"><td class="num" id="LN5154">5154</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5155"><td class="num" id="LN5155">5155</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5156"><td class="num" id="LN5156">5156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5157"><td class="num" id="LN5157">5157</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5158"><td class="num" id="LN5158">5158</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5159"><td class="num" id="LN5159">5159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5160"><td class="num" id="LN5160">5160</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5161"><td class="num" id="LN5161">5161</td><td class="line">panel_toplevel_set_y (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5162"><td class="num" id="LN5162">5162</td><td class="line"> <span class='keyword'>int</span> y,</td></tr>
+<tr class="codeline" data-linenumber="5163"><td class="num" id="LN5163">5163</td><td class="line"> <span class='keyword'>int</span> y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="5164"><td class="num" id="LN5164">5164</td><td class="line"> gboolean y_centered)</td></tr>
+<tr class="codeline" data-linenumber="5165"><td class="num" id="LN5165">5165</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5166"><td class="num" id="LN5166">5166</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5167"><td class="num" id="LN5167">5167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5168"><td class="num" id="LN5168">5168</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5169"><td class="num" id="LN5169">5169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5170"><td class="num" id="LN5170">5170</td><td class="line"> y_centered = y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5171"><td class="num" id="LN5171">5171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5172"><td class="num" id="LN5172">5172</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5173"><td class="num" id="LN5173">5173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5174"><td class="num" id="LN5174">5174</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="5175"><td class="num" id="LN5175">5175</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="5176"><td class="num" id="LN5176">5176</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5177"><td class="num" id="LN5177">5177</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5178"><td class="num" id="LN5178">5178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5179"><td class="num" id="LN5179">5179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5180"><td class="num" id="LN5180">5180</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="5181"><td class="num" id="LN5181">5181</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5182"><td class="num" id="LN5182">5182</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5183"><td class="num" id="LN5183">5183</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5184"><td class="num" id="LN5184">5184</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5185"><td class="num" id="LN5185">5185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5186"><td class="num" id="LN5186">5186</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered != y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5187"><td class="num" id="LN5187">5187</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = (y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5188"><td class="num" id="LN5188">5188</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5189"><td class="num" id="LN5189">5189</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5190"><td class="num" id="LN5190">5190</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5191"><td class="num" id="LN5191">5191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5192"><td class="num" id="LN5192">5192</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5193"><td class="num" id="LN5193">5193</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5194"><td class="num" id="LN5194">5194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5195"><td class="num" id="LN5195">5195</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5196"><td class="num" id="LN5196">5196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5197"><td class="num" id="LN5197">5197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5198"><td class="num" id="LN5198">5198</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5199"><td class="num" id="LN5199">5199</td><td class="line">panel_toplevel_get_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5200"><td class="num" id="LN5200">5200</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="5201"><td class="num" id="LN5201">5201</td><td class="line"> <span class='keyword'>int</span> *x_right,</td></tr>
+<tr class="codeline" data-linenumber="5202"><td class="num" id="LN5202">5202</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="5203"><td class="num" id="LN5203">5203</td><td class="line"> <span class='keyword'>int</span> *y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5204"><td class="num" id="LN5204">5204</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5205"><td class="num" id="LN5205">5205</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5206"><td class="num" id="LN5206">5206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5207"><td class="num" id="LN5207">5207</td><td class="line"> <span class='keyword'>if</span> (x)</td></tr>
+<tr class="codeline" data-linenumber="5208"><td class="num" id="LN5208">5208</td><td class="line"> *x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="5209"><td class="num" id="LN5209">5209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5210"><td class="num" id="LN5210">5210</td><td class="line"> <span class='keyword'>if</span> (y)</td></tr>
+<tr class="codeline" data-linenumber="5211"><td class="num" id="LN5211">5211</td><td class="line"> *y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="5212"><td class="num" id="LN5212">5212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5213"><td class="num" id="LN5213">5213</td><td class="line"> <span class='keyword'>if</span> (x_right)</td></tr>
+<tr class="codeline" data-linenumber="5214"><td class="num" id="LN5214">5214</td><td class="line"> *x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="5215"><td class="num" id="LN5215">5215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5216"><td class="num" id="LN5216">5216</td><td class="line"> <span class='keyword'>if</span> (y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5217"><td class="num" id="LN5217">5217</td><td class="line"> *y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5218"><td class="num" id="LN5218">5218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5219"><td class="num" id="LN5219">5219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5220"><td class="num" id="LN5220">5220</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5221"><td class="num" id="LN5221">5221</td><td class="line">panel_toplevel_get_x_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5222"><td class="num" id="LN5222">5222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5223"><td class="num" id="LN5223">5223</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5224"><td class="num" id="LN5224">5224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5225"><td class="num" id="LN5225">5225</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="5226"><td class="num" id="LN5226">5226</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5227"><td class="num" id="LN5227">5227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5228"><td class="num" id="LN5228">5228</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5229"><td class="num" id="LN5229">5229</td><td class="line">panel_toplevel_get_y_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5230"><td class="num" id="LN5230">5230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5231"><td class="num" id="LN5231">5231</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5232"><td class="num" id="LN5232">5232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5233"><td class="num" id="LN5233">5233</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="5234"><td class="num" id="LN5234">5234</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5235"><td class="num" id="LN5235">5235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5236"><td class="num" id="LN5236">5236</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5237"><td class="num" id="LN5237">5237</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal:</span></td></tr>
+<tr class="codeline" data-linenumber="5238"><td class="num" id="LN5238">5238</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5239"><td class="num" id="LN5239">5239</td><td class="line"> <span class='comment'>* Sets the monitor of the toplevel, but only the internal state. We need to</span></td></tr>
+<tr class="codeline" data-linenumber="5240"><td class="num" id="LN5240">5240</td><td class="line"> <span class='comment'>* make the difference between the internal state and the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5241"><td class="num" id="LN5241">5241</td><td class="line"> <span class='comment'>* user because internal constraints might affect the monitor of the toplevel.</span></td></tr>
+<tr class="codeline" data-linenumber="5242"><td class="num" id="LN5242">5242</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5243"><td class="num" id="LN5243">5243</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal() won't update the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5244"><td class="num" id="LN5244">5244</td><td class="line"> <span class='comment'>* user.</span></td></tr>
+<tr class="codeline" data-linenumber="5245"><td class="num" id="LN5245">5245</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5246"><td class="num" id="LN5246">5246</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5247"><td class="num" id="LN5247">5247</td><td class="line">panel_toplevel_set_monitor_internal (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5248"><td class="num" id="LN5248">5248</td><td class="line"> <span class='keyword'>int</span> monitor,</td></tr>
+<tr class="codeline" data-linenumber="5249"><td class="num" id="LN5249">5249</td><td class="line"> gboolean force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5250"><td class="num" id="LN5250">5250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5251"><td class="num" id="LN5251">5251</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5252"><td class="num" id="LN5252">5252</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5253"><td class="num" id="LN5253">5253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5254"><td class="num" id="LN5254">5254</td><td class="line"> toplevel-&gt;priv-&gt;monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5255"><td class="num" id="LN5255">5255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5256"><td class="num" id="LN5256">5256</td><td class="line"> <span class='keyword'>if</span> (force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5257"><td class="num" id="LN5257">5257</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5258"><td class="num" id="LN5258">5258</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5259"><td class="num" id="LN5259">5259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5260"><td class="num" id="LN5260">5260</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5261"><td class="num" id="LN5261">5261</td><td class="line"> <span class='comment'>* panel_toplevel_update_monitor:</span></td></tr>
+<tr class="codeline" data-linenumber="5262"><td class="num" id="LN5262">5262</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5263"><td class="num" id="LN5263">5263</td><td class="line"> <span class='comment'>* Moves the toplevel to its configured monitor or the first one, if needed.</span></td></tr>
+<tr class="codeline" data-linenumber="5264"><td class="num" id="LN5264">5264</td><td class="line"> <span class='comment'>* This generally happens when the configured monitor was non-existing before,</span></td></tr>
+<tr class="codeline" data-linenumber="5265"><td class="num" id="LN5265">5265</td><td class="line"> <span class='comment'>* and it appeared at runtime, or if it was existing and disappeared.</span></td></tr>
+<tr class="codeline" data-linenumber="5266"><td class="num" id="LN5266">5266</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5267"><td class="num" id="LN5267">5267</td><td class="line"> <span class='comment'>* This must only be called at the beginning of the size request of the</span></td></tr>
+<tr class="codeline" data-linenumber="5268"><td class="num" id="LN5268">5268</td><td class="line"> <span class='comment'>* toplevel because it doesn't queue a size request.</span></td></tr>
+<tr class="codeline" data-linenumber="5269"><td class="num" id="LN5269">5269</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5270"><td class="num" id="LN5270">5270</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5271"><td class="num" id="LN5271">5271</td><td class="line">panel_toplevel_update_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5272"><td class="num" id="LN5272">5272</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5273"><td class="num" id="LN5273">5273</td><td class="line"> <span class='comment'>/* If we were not using the configured monitor, can we use it now? */</span></td></tr>
+<tr class="codeline" data-linenumber="5274"><td class="num" id="LN5274">5274</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;configured_monitor != -1) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5275"><td class="num" id="LN5275">5275</td><td class="line"> (toplevel-&gt;priv-&gt;configured_monitor != toplevel-&gt;priv-&gt;monitor) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5276"><td class="num" id="LN5276">5276</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor &lt; panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5277"><td class="num" id="LN5277">5277</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5278"><td class="num" id="LN5278">5278</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor,</td></tr>
+<tr class="codeline" data-linenumber="5279"><td class="num" id="LN5279">5279</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5280"><td class="num" id="LN5280">5280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5281"><td class="num" id="LN5281">5281</td><td class="line"> <span class='comment'>/* else, can we still use the monitor we were using? */</span></td></tr>
+<tr class="codeline" data-linenumber="5282"><td class="num" id="LN5282">5282</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor &gt;= panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5283"><td class="num" id="LN5283">5283</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5284"><td class="num" id="LN5284">5284</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="5285"><td class="num" id="LN5285">5285</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5286"><td class="num" id="LN5286">5286</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5287"><td class="num" id="LN5287">5287</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5288"><td class="num" id="LN5288">5288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5289"><td class="num" id="LN5289">5289</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5290"><td class="num" id="LN5290">5290</td><td class="line">panel_toplevel_set_monitor (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5291"><td class="num" id="LN5291">5291</td><td class="line"> <span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="5292"><td class="num" id="LN5292">5292</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5293"><td class="num" id="LN5293">5293</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5294"><td class="num" id="LN5294">5294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5295"><td class="num" id="LN5295">5295</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;configured_monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5296"><td class="num" id="LN5296">5296</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5297"><td class="num" id="LN5297">5297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5298"><td class="num" id="LN5298">5298</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5299"><td class="num" id="LN5299">5299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5300"><td class="num" id="LN5300">5300</td><td class="line"> <span class='comment'>/* Only use the configured monitor if it's existing. Else, we ignore</span></td></tr>
+<tr class="codeline" data-linenumber="5301"><td class="num" id="LN5301">5301</td><td class="line"> <span class='comment'>* the non-existing monitor, and keep the old one. The main use case is</span></td></tr>
+<tr class="codeline" data-linenumber="5302"><td class="num" id="LN5302">5302</td><td class="line"> <span class='comment'>* when logging in after having used a multimonitor environment.</span></td></tr>
+<tr class="codeline" data-linenumber="5303"><td class="num" id="LN5303">5303</td><td class="line"> <span class='comment'>* We will put the panel on the monitor 0 for this session, and it will</span></td></tr>
+<tr class="codeline" data-linenumber="5304"><td class="num" id="LN5304">5304</td><td class="line"> <span class='comment'>* move back to the right monitor next time. */</span></td></tr>
+<tr class="codeline" data-linenumber="5305"><td class="num" id="LN5305">5305</td><td class="line"> <span class='keyword'>if</span> (monitor &lt; panel_multimonitor_monitors ())</td></tr>
+<tr class="codeline" data-linenumber="5306"><td class="num" id="LN5306">5306</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5307"><td class="num" id="LN5307">5307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5308"><td class="num" id="LN5308">5308</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"monitor"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5309"><td class="num" id="LN5309">5309</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5310"><td class="num" id="LN5310">5310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5311"><td class="num" id="LN5311">5311</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5312"><td class="num" id="LN5312">5312</td><td class="line">panel_toplevel_get_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5313"><td class="num" id="LN5313">5313</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5314"><td class="num" id="LN5314">5314</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5315"><td class="num" id="LN5315">5315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5316"><td class="num" id="LN5316">5316</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="5317"><td class="num" id="LN5317">5317</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5318"><td class="num" id="LN5318">5318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5319"><td class="num" id="LN5319">5319</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5320"><td class="num" id="LN5320">5320</td><td class="line">panel_toplevel_set_auto_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5321"><td class="num" id="LN5321">5321</td><td class="line"> gboolean auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5322"><td class="num" id="LN5322">5322</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5323"><td class="num" id="LN5323">5323</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5324"><td class="num" id="LN5324">5324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5325"><td class="num" id="LN5325">5325</td><td class="line"> auto_hide = auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5326"><td class="num" id="LN5326">5326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5327"><td class="num" id="LN5327">5327</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide == auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5328"><td class="num" id="LN5328">5328</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5329"><td class="num" id="LN5329">5329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5330"><td class="num" id="LN5330">5330</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = (auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5331"><td class="num" id="LN5331">5331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5332"><td class="num" id="LN5332">5332</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5333"><td class="num" id="LN5333">5333</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5334"><td class="num" id="LN5334">5334</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5335"><td class="num" id="LN5335">5335</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5336"><td class="num" id="LN5336">5336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5337"><td class="num" id="LN5337">5337</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="5338"><td class="num" id="LN5338">5338</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5339"><td class="num" id="LN5339">5339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5340"><td class="num" id="LN5340">5340</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5341"><td class="num" id="LN5341">5341</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5342"><td class="num" id="LN5342">5342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5343"><td class="num" id="LN5343">5343</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5344"><td class="num" id="LN5344">5344</td><td class="line">panel_toplevel_get_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5345"><td class="num" id="LN5345">5345</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5346"><td class="num" id="LN5346">5346</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5347"><td class="num" id="LN5347">5347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5348"><td class="num" id="LN5348">5348</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide;</td></tr>
+<tr class="codeline" data-linenumber="5349"><td class="num" id="LN5349">5349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5350"><td class="num" id="LN5350">5350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5351"><td class="num" id="LN5351">5351</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5352"><td class="num" id="LN5352">5352</td><td class="line">panel_toplevel_set_hide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5353"><td class="num" id="LN5353">5353</td><td class="line"> <span class='keyword'>int</span> hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5354"><td class="num" id="LN5354">5354</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5355"><td class="num" id="LN5355">5355</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5356"><td class="num" id="LN5356">5356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5357"><td class="num" id="LN5357">5357</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay == hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5358"><td class="num" id="LN5358">5358</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5359"><td class="num" id="LN5359">5359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5360"><td class="num" id="LN5360">5360</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5361"><td class="num" id="LN5361">5361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5362"><td class="num" id="LN5362">5362</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"hide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5363"><td class="num" id="LN5363">5363</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5364"><td class="num" id="LN5364">5364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5365"><td class="num" id="LN5365">5365</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5366"><td class="num" id="LN5366">5366</td><td class="line">panel_toplevel_get_hide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5367"><td class="num" id="LN5367">5367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5368"><td class="num" id="LN5368">5368</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5369"><td class="num" id="LN5369">5369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5370"><td class="num" id="LN5370">5370</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5371"><td class="num" id="LN5371">5371</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5372"><td class="num" id="LN5372">5372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5373"><td class="num" id="LN5373">5373</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5374"><td class="num" id="LN5374">5374</td><td class="line">panel_toplevel_set_unhide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5375"><td class="num" id="LN5375">5375</td><td class="line"> <span class='keyword'>int</span> unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5376"><td class="num" id="LN5376">5376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5377"><td class="num" id="LN5377">5377</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5378"><td class="num" id="LN5378">5378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5379"><td class="num" id="LN5379">5379</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay == unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5380"><td class="num" id="LN5380">5380</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5381"><td class="num" id="LN5381">5381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5382"><td class="num" id="LN5382">5382</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5383"><td class="num" id="LN5383">5383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5384"><td class="num" id="LN5384">5384</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"unhide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5385"><td class="num" id="LN5385">5385</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5386"><td class="num" id="LN5386">5386</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5387"><td class="num" id="LN5387">5387</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5388"><td class="num" id="LN5388">5388</td><td class="line">panel_toplevel_get_unhide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5389"><td class="num" id="LN5389">5389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5390"><td class="num" id="LN5390">5390</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5391"><td class="num" id="LN5391">5391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5392"><td class="num" id="LN5392">5392</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5393"><td class="num" id="LN5393">5393</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5394"><td class="num" id="LN5394">5394</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5395"><td class="num" id="LN5395">5395</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5396"><td class="num" id="LN5396">5396</td><td class="line">panel_toplevel_set_animate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5397"><td class="num" id="LN5397">5397</td><td class="line"> gboolean animate)</td></tr>
+<tr class="codeline" data-linenumber="5398"><td class="num" id="LN5398">5398</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5399"><td class="num" id="LN5399">5399</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5400"><td class="num" id="LN5400">5400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5401"><td class="num" id="LN5401">5401</td><td class="line"> animate = animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5402"><td class="num" id="LN5402">5402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5403"><td class="num" id="LN5403">5403</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate == animate)</td></tr>
+<tr class="codeline" data-linenumber="5404"><td class="num" id="LN5404">5404</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5405"><td class="num" id="LN5405">5405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5406"><td class="num" id="LN5406">5406</td><td class="line"> toplevel-&gt;priv-&gt;animate = (animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5407"><td class="num" id="LN5407">5407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5408"><td class="num" id="LN5408">5408</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animate"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5409"><td class="num" id="LN5409">5409</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5410"><td class="num" id="LN5410">5410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5411"><td class="num" id="LN5411">5411</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5412"><td class="num" id="LN5412">5412</td><td class="line">panel_toplevel_get_animate (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5413"><td class="num" id="LN5413">5413</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5414"><td class="num" id="LN5414">5414</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5415"><td class="num" id="LN5415">5415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5416"><td class="num" id="LN5416">5416</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animate;</td></tr>
+<tr class="codeline" data-linenumber="5417"><td class="num" id="LN5417">5417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5418"><td class="num" id="LN5418">5418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5419"><td class="num" id="LN5419">5419</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5420"><td class="num" id="LN5420">5420</td><td class="line">panel_toplevel_set_animation_speed (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5421"><td class="num" id="LN5421">5421</td><td class="line"> PanelAnimationSpeed animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5422"><td class="num" id="LN5422">5422</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5423"><td class="num" id="LN5423">5423</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5424"><td class="num" id="LN5424">5424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5425"><td class="num" id="LN5425">5425</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_speed == animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5426"><td class="num" id="LN5426">5426</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5427"><td class="num" id="LN5427">5427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5428"><td class="num" id="LN5428">5428</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5429"><td class="num" id="LN5429">5429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5430"><td class="num" id="LN5430">5430</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animation-speed"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5431"><td class="num" id="LN5431">5431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5432"><td class="num" id="LN5432">5432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5433"><td class="num" id="LN5433">5433</td><td class="line">PanelAnimationSpeed</td></tr>
+<tr class="codeline" data-linenumber="5434"><td class="num" id="LN5434">5434</td><td class="line">panel_toplevel_get_animation_speed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5435"><td class="num" id="LN5435">5435</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5436"><td class="num" id="LN5436">5436</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5437"><td class="num" id="LN5437">5437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5438"><td class="num" id="LN5438">5438</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5439"><td class="num" id="LN5439">5439</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5440"><td class="num" id="LN5440">5440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5441"><td class="num" id="LN5441">5441</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5442"><td class="num" id="LN5442">5442</td><td class="line">panel_toplevel_set_enable_buttons (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5443"><td class="num" id="LN5443">5443</td><td class="line"> gboolean enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5444"><td class="num" id="LN5444">5444</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5445"><td class="num" id="LN5445">5445</td><td class="line"> enable_buttons = enable_buttons != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5446"><td class="num" id="LN5446">5446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5447"><td class="num" id="LN5447">5447</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled == enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5448"><td class="num" id="LN5448">5448</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5449"><td class="num" id="LN5449">5449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5450"><td class="num" id="LN5450">5450</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = enable_buttons;</td></tr>
+<tr class="codeline" data-linenumber="5451"><td class="num" id="LN5451">5451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5452"><td class="num" id="LN5452">5452</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5453"><td class="num" id="LN5453">5453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5454"><td class="num" id="LN5454">5454</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"buttons-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5455"><td class="num" id="LN5455">5455</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5456"><td class="num" id="LN5456">5456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5457"><td class="num" id="LN5457">5457</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5458"><td class="num" id="LN5458">5458</td><td class="line">panel_toplevel_get_enable_buttons (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5459"><td class="num" id="LN5459">5459</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5460"><td class="num" id="LN5460">5460</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5461"><td class="num" id="LN5461">5461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5462"><td class="num" id="LN5462">5462</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;buttons_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5463"><td class="num" id="LN5463">5463</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5464"><td class="num" id="LN5464">5464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5465"><td class="num" id="LN5465">5465</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5466"><td class="num" id="LN5466">5466</td><td class="line">panel_toplevel_set_enable_arrows (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5467"><td class="num" id="LN5467">5467</td><td class="line"> gboolean enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5468"><td class="num" id="LN5468">5468</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5469"><td class="num" id="LN5469">5469</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5470"><td class="num" id="LN5470">5470</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5471"><td class="num" id="LN5471">5471</td><td class="line"> enable_arrows = enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5472"><td class="num" id="LN5472">5472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5473"><td class="num" id="LN5473">5473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled == enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5474"><td class="num" id="LN5474">5474</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5475"><td class="num" id="LN5475">5475</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5476"><td class="num" id="LN5476">5476</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = (enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5477"><td class="num" id="LN5477">5477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5478"><td class="num" id="LN5478">5478</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5479"><td class="num" id="LN5479">5479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5480"><td class="num" id="LN5480">5480</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrows-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5481"><td class="num" id="LN5481">5481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5482"><td class="num" id="LN5482">5482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5483"><td class="num" id="LN5483">5483</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5484"><td class="num" id="LN5484">5484</td><td class="line">panel_toplevel_get_enable_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5485"><td class="num" id="LN5485">5485</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5486"><td class="num" id="LN5486">5486</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5487"><td class="num" id="LN5487">5487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5488"><td class="num" id="LN5488">5488</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;arrows_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5489"><td class="num" id="LN5489">5489</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5490"><td class="num" id="LN5490">5490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5491"><td class="num" id="LN5491">5491</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5492"><td class="num" id="LN5492">5492</td><td class="line">panel_toplevel_rotate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5493"><td class="num" id="LN5493">5493</td><td class="line"> gboolean clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5494"><td class="num" id="LN5494">5494</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5495"><td class="num" id="LN5495">5495</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="5496"><td class="num" id="LN5496">5496</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5497"><td class="num" id="LN5497">5497</td><td class="line"> <span class='comment'>/* Relies on PanelOrientation definition:</span></td></tr>
+<tr class="codeline" data-linenumber="5498"><td class="num" id="LN5498">5498</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5499"><td class="num" id="LN5499">5499</td><td class="line"> <span class='comment'>* typedef enum {</span></td></tr>
+<tr class="codeline" data-linenumber="5500"><td class="num" id="LN5500">5500</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_TOP = 1 &lt;&lt; 0,</span></td></tr>
+<tr class="codeline" data-linenumber="5501"><td class="num" id="LN5501">5501</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_RIGHT = 1 &lt;&lt; 1,</span></td></tr>
+<tr class="codeline" data-linenumber="5502"><td class="num" id="LN5502">5502</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_BOTTOM = 1 &lt;&lt; 2,</span></td></tr>
+<tr class="codeline" data-linenumber="5503"><td class="num" id="LN5503">5503</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_LEFT = 1 &lt;&lt; 3</span></td></tr>
+<tr class="codeline" data-linenumber="5504"><td class="num" id="LN5504">5504</td><td class="line"> <span class='comment'>* } PanelOrientation;</span></td></tr>
+<tr class="codeline" data-linenumber="5505"><td class="num" id="LN5505">5505</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="5506"><td class="num" id="LN5506">5506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5507"><td class="num" id="LN5507">5507</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5508"><td class="num" id="LN5508">5508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5509"><td class="num" id="LN5509">5509</td><td class="line"> <span class='keyword'>if</span> (clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5510"><td class="num" id="LN5510">5510</td><td class="line"> orientation &lt;&lt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5511"><td class="num" id="LN5511">5511</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5512"><td class="num" id="LN5512">5512</td><td class="line"> orientation &gt;&gt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5513"><td class="num" id="LN5513">5513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5514"><td class="num" id="LN5514">5514</td><td class="line"> <span class='keyword'>if</span> (orientation == 0)</td></tr>
+<tr class="codeline" data-linenumber="5515"><td class="num" id="LN5515">5515</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5516"><td class="num" id="LN5516">5516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5517"><td class="num" id="LN5517">5517</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (orientation &gt; PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="5518"><td class="num" id="LN5518">5518</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="5519"><td class="num" id="LN5519">5519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5520"><td class="num" id="LN5520">5520</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="5521"><td class="num" id="LN5521">5521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5522"><td class="num" id="LN5522">5522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5523"><td class="num" id="LN5523">5523</td><td class="line">PanelState</td></tr>
+<tr class="codeline" data-linenumber="5524"><td class="num" id="LN5524">5524</td><td class="line">panel_toplevel_get_state (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5525"><td class="num" id="LN5525">5525</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5526"><td class="num" id="LN5526">5526</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5527"><td class="num" id="LN5527">5527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5528"><td class="num" id="LN5528">5528</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="5529"><td class="num" id="LN5529">5529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5530"><td class="num" id="LN5530">5530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5531"><td class="num" id="LN5531">5531</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5532"><td class="num" id="LN5532">5532</td><td class="line">panel_toplevel_get_is_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5533"><td class="num" id="LN5533">5533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5534"><td class="num" id="LN5534">5534</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5535"><td class="num" id="LN5535">5535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5536"><td class="num" id="LN5536">5536</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||</td></tr>
+<tr class="codeline" data-linenumber="5537"><td class="num" id="LN5537">5537</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="5538"><td class="num" id="LN5538">5538</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="5539"><td class="num" id="LN5539">5539</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="5540"><td class="num" id="LN5540">5540</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5541"><td class="num" id="LN5541">5541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5542"><td class="num" id="LN5542">5542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5543"><td class="num" id="LN5543">5543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5544"><td class="num" id="LN5544">5544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5545"><td class="num" id="LN5545">5545</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5546"><td class="num" id="LN5546">5546</td><td class="line">panel_toplevel_get_minimum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5547"><td class="num" id="LN5547">5547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5548"><td class="num" id="LN5548">5548</td><td class="line"> <span class='keyword'>return</span> calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="5549"><td class="num" id="LN5549">5549</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="5550"><td class="num" id="LN5550">5550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5551"><td class="num" id="LN5551">5551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5552"><td class="num" id="LN5552">5552</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5553"><td class="num" id="LN5553">5553</td><td class="line">panel_toplevel_get_maximum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5554"><td class="num" id="LN5554">5554</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5555"><td class="num" id="LN5555">5555</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="5556"><td class="num" id="LN5556">5556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5557"><td class="num" id="LN5557">5557</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="5558"><td class="num" id="LN5558">5558</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5559"><td class="num" id="LN5559">5559</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5560"><td class="num" id="LN5560">5560</td><td class="line"> <span class='keyword'>return</span> monitor_geom.height / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5561"><td class="num" id="LN5561">5561</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5562"><td class="num" id="LN5562">5562</td><td class="line"> <span class='keyword'>return</span> monitor_geom.width / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5563"><td class="num" id="LN5563">5563</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-e04d58.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-e04d58.html
new file mode 100644
index 00000000..19468b33
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-e04d58.html
@@ -0,0 +1,6243 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-toplevel.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Value stored to 'new_size' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-toplevel.c -->
+
+<!-- FILENAME panel-toplevel.c -->
+
+<!-- FUNCTIONNAME panel_toplevel_resize_to_pointer -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT e04d58880d5b0bd8dbf061015e4cb199 -->
+
+<!-- BUGLINE 591 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-toplevel.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 591, column 2</a><br />Value stored to 'new_size' is never read</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-toplevel.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-toplevel.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"591": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* panel-toplevel.c: The panel's toplevel window object.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2004 Rob Adams</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-frame.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-a11y.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-typebuiltins.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "panel-bindings.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "panel-config-global.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#include "xstuff.h"</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#include "panel-xutils.h"</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='directive'>#include "panel-struts.h"</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='directive'>#include "wayland-backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span> 48</span></td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> 1</span></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span> 300</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> 8</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#define <span class='macro'>MINIMUM_WIDTH<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"><span class='directive'>#define <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#define <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span> 6</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span> 20</span></td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"><span class='directive'>#define <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span> 10</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> PANEL_GRAB_OP_NONE,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> PANEL_GRAB_OP_MOVE,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> PANEL_GRAB_OP_RESIZE,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> PANEL_GRAB_OP_RESIZE_UP,</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> PANEL_GRAB_OP_RESIZE_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> PANEL_GRAB_OP_RESIZE_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> PANEL_GRAB_OP_RESIZE_RIGHT</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} PanelGrabOpType;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>struct</span> _PanelToplevelPrivate {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> gchar *settings_path;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> gboolean expand;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>int</span> x;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>int</span> y;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='comment'>/* relative to the bottom right corner, -1 to ignore and use x, y*/</span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='comment'>/* this is used when the configured monitor is missing. We keep it so</span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> <span class='comment'>* we can move the toplevel to the right monitor when it becomes</span></td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='comment'>* available */</span></td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='keyword'>int</span> configured_monitor;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>int</span> hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>int</span> unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> PanelAnimationSpeed animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> GtkSettings *gtk_settings;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> PanelState state;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> guint hide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> guint unhide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>int</span> original_width;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>int</span> original_height;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='comment'>/* The offset within the panel from which the panel</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='comment'>* drag was initiated relative to the screen origin.</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>int</span> drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>int</span> drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='comment'>/* Saved state before for cancelled grab op */</span></td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>int</span> orig_monitor;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> orig_x;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>int</span> orig_y;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>int</span> orig_x_right;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>int</span> orig_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>int</span> orig_size;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>int</span> orig_orientation;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>int</span> animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>int</span> animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>int</span> animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>int</span> animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> gint64 animation_start_time; <span class='comment'>/* monotonic start time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> GTimeSpan animation_duration_time; <span class='comment'>/* monotonic duration time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> guint animation_timeout;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> PanelFrame *inner_frame;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> GtkWidget *grid;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GtkWidget *hide_button_top;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> GtkWidget *hide_button_bottom;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> GtkWidget *hide_button_left;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> GtkWidget *hide_button_right;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> PanelToplevel *attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> gulong attach_toplevel_signals [<span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> GtkWidget *attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> gulong attach_widget_signals [<span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> gint n_autohide_disablers;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> guint auto_hide : 1;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> guint animate : 1;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> guint buttons_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> guint arrows_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* The co-ordinates are relative to center screen */</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> guint x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> guint y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> <span class='comment'>/* The panel is not lined up with th screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> guint floating : 1;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='comment'>/* We are currently animating a hide/show */</span></td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> guint animating : 1;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='comment'>/* This is a keyboard initiated grab operation */</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> guint grab_is_keyboard : 1;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='comment'>/* The x-y co-ordinates temporarily specify the panel center.</span></td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='comment'>* This is used when the panel is rotating, because the width/height</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='comment'>* of the toplevel might change, so we need to compute new values for</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='comment'>* those. */</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> guint position_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='comment'>/* The toplevel is "attached" to another widget */</span></td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> guint attached : 1;</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='comment'>/* Hidden temporarily because the attach_toplevel was hidden */</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> guint attach_hidden : 1;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='comment'>/* More saved grab op state */</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> guint orig_x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> guint orig_y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='comment'>/* flag to see if we have already done geometry updating,</span></td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='comment'>if not then we're still loading and can ignore many things */</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> guint updated_geometry_initial : 1;</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='comment'>/* flag to see if we have done the initial animation */</span></td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> guint initial_animation_done : 1;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> HIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> UNHIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> POPUP_PANEL_MENU_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> TOGGLE_EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> UNEXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> TOGGLE_HIDDEN_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> BEGIN_MOVE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> BEGIN_RESIZE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> PROP_ARROWS_ENABLED</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (PanelToplevel, panel_toplevel, GTK_TYPE_WINDOW)<span class='macro_popup'>static void panel_toplevel_init (PanelToplevel *self); static<br> void panel_toplevel_class_init (PanelToplevelClass *klass); static<br> GType panel_toplevel_get_type_once (void); static gpointer panel_toplevel_parent_class<br> = ((void*)0); static gint PanelToplevel_private_offset; static<br> void panel_toplevel_class_intern_init (gpointer klass) { panel_toplevel_parent_class<br> = g_type_class_peek_parent (klass); if (PanelToplevel_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;PanelToplevel_private_offset<br>); panel_toplevel_class_init ((PanelToplevelClass*) klass); }<br> __attribute__ ((__unused__)) static inline gpointer panel_toplevel_get_instance_private<br> (PanelToplevel *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (PanelToplevel_private_offset)))); } GType panel_toplevel_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = panel_toplevel_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType panel_toplevel_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_window_get_type ()), g_intern_static_string ("PanelToplevel"<br>), sizeof (PanelToplevelClass), (GClassInitFunc)(void (*)(void<br>)) panel_toplevel_class_intern_init, sizeof (PanelToplevel), (<br>GInstanceInitFunc)(void (*)(void)) panel_toplevel_init, (GTypeFlags<br>) 0); { {{ PanelToplevel_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (PanelToplevelPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='keyword'>static</span> guint toplevel_signals[LAST_SIGNAL] = {0};</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"><span class='keyword'>static</span> GSList* toplevel_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calculate_animation_end_geometry(PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_monitor(PanelToplevel* toplevel);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_set_monitor_internal(PanelToplevel* toplevel, <span class='keyword'>int</span> monitor, gboolean force_resize);</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line">update_style_classes (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='comment'>/*ensure the panel BG can always be themed*/</span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='comment'>/*Without this gtk3.19/20 cannot set the BG color and resetting the bg to system is not immediately applied*/</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 302, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">GSList* panel_toplevel_list_toplevels(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>return</span> toplevel_list;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"><span class='comment'>/* Is this the last un-attached toplevel? */</span></td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">gboolean panel_toplevel_is_last_unattached(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> GSList* l;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached(toplevel))</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='keyword'>for</span> (l = toplevel_list; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> PanelToplevel* t = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>if</span> (t != toplevel &amp;&amp; !panel_toplevel_get_is_attached(t))</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_get_monitor_geometry(PanelToplevel* toplevel, GdkRectangle *geom)</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='macro'>g_return_if_fail(PANEL_IS_TOPLEVEL(toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> <span class='macro'>g_return_if_fail(geom)<span class='macro_popup'>do { if ((geom)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "geom"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> geom-&gt;x = panel_multimonitor_x(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> geom-&gt;y = panel_multimonitor_y(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> geom-&gt;width = panel_multimonitor_width(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> geom-&gt;height = panel_multimonitor_height(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='keyword'>static</span> GdkCursorType panel_toplevel_grab_op_cursor(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> GdkCursorType retval = -1;</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> retval = GDK_CROSS;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> retval = GDK_FLEUR;</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> retval = GDK_TOP_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> retval = GDK_BOTTOM_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> retval = GDK_LEFT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> retval = GDK_RIGHT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 371, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_init_resize_drag_offsets(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='macro'>g_assert (GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel))))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 381<br>, ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y =</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x =</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 402, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_warp_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget)))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> x = y = 0;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> y = geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> x = geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 441, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_MOVE ||</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_RESIZE) {</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = x;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = y;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> panel_toplevel_init_resize_drag_offsets (toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> panel_warp_pointer (gtk_widget_get_window (widget), x, y);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_attached_move(PanelToplevel* toplevel, gboolean is_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> PanelWidget *attached_panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> attached_panel_widget = panel_toplevel_get_panel_widget (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> panel_widget_applet_drag_start (attached_panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> is_keyboard ? <span class='macro'>PW_DRAG_OFF_CENTER<span class='macro_popup'>-2</span></span> : <span class='macro'>PW_DRAG_OFF_CURSOR<span class='macro_popup'>-1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> time_);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_grab_op(PanelToplevel* toplevel, PanelGrabOpType op_type, gboolean grab_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> GdkCursorType cursor_type;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> GdkCursor *cursor;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> GdkSeatCapabilities capabilities;</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down ())</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='comment'>/* If any of the position/orientation are not writable,</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>then we can't really move freely */</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='keyword'>if</span> (op_type == PANEL_GRAB_OP_MOVE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> ! panel_profile_can_be_moved_freely (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>/* If size is not writable, then we can't resize */</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>if</span> ((op_type == PANEL_GRAB_OP_RESIZE ||</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_UP ||</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_RIGHT) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> ! panel_profile_key_is_writable (toplevel, <span class='macro'>PANEL_TOPLEVEL_SIZE_KEY<span class='macro_popup'>"size"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; op_type == PANEL_GRAB_OP_MOVE) {</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> panel_toplevel_begin_attached_move (toplevel, grab_keyboard, time_);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = op_type;</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = (grab_keyboard != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> toplevel-&gt;priv-&gt;orig_monitor = toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> toplevel-&gt;priv-&gt;orig_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> toplevel-&gt;priv-&gt;orig_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> toplevel-&gt;priv-&gt;orig_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> toplevel-&gt;priv-&gt;orig_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> gtk_grab_add (widget);</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard) {</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> panel_toplevel_warp_pointer (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> cursor_type = panel_toplevel_grab_op_cursor (</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> cursor = gdk_cursor_new_for_display (gdk_display_get_default (),</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> cursor_type);</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> capabilities = GDK_SEAT_CAPABILITY_POINTER;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='keyword'>if</span> (grab_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> capabilities |= GDK_SEAT_CAPABILITY_KEYBOARD;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> gdk_seat_grab (seat, window, capabilities, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, cursor,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> g_object_unref (cursor);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_end_grab_op (PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> gtk_grab_remove (widget);</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> display = gtk_widget_get_display (widget);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_cancel_grab_op(PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> panel_toplevel_set_orientation (toplevel, toplevel-&gt;priv-&gt;orig_orientation);</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> panel_toplevel_set_monitor (toplevel, toplevel-&gt;priv-&gt;orig_monitor);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> panel_toplevel_set_size (toplevel, toplevel-&gt;priv-&gt;orig_size);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> toplevel-&gt;priv-&gt;orig_x,</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right,</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> toplevel-&gt;priv-&gt;orig_y,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_resize_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> x, <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>int</span> new_x_right, new_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>int</span> new_x_centered, new_y_centered;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> new_size = <span class="mrange">toplevel-&gt;priv-&gt;size</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex">Value stored to 'new_size' is never read</div></td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> new_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> new_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> new_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> new_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> new_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> new_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_y - y;</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> new_y -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> new_size = y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_x - x;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> new_x -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> new_size = x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 637, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>if</span> (new_size == 0)</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> panel_toplevel_set_x (toplevel, new_x, new_x_right, new_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> panel_toplevel_set_y (toplevel, new_y, new_y_bottom, new_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> panel_toplevel_set_size (toplevel, new_size);</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"><span class='comment'>/* this is called for expanded panels that are dragged around */</span></td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_new_orientation(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>int</span> hborder, vborder;</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='keyword'>int</span> monitor_width, monitor_height;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (pointer_x, pointer_y);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.height &lt; toplevel-&gt;priv-&gt;geometry.width)</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.height) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.width) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> new_x = pointer_x - panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> new_y = pointer_y - panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> monitor_width = panel_multimonitor_width (monitor);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> monitor_height = panel_multimonitor_height (monitor);</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &gt; hborder) {</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; (monitor_height - hborder)) {</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &gt; vborder) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; (monitor_width - vborder)) {</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 718, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> panel_toplevel_set_monitor (toplevel, monitor);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to(PanelToplevel* toplevel, <span class='keyword'>int</span> new_x, <span class='keyword'>int</span> new_y)</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> gboolean x_centered, y_centered;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> GdkPoint display_min, display_max;</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='keyword'>int</span> new_monitor;</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='keyword'>int</span> x, y, x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> panel_multimonitor_get_bounds (&amp;display_min, &amp;display_max);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> new_x = <span class='macro'>CLAMP (new_x, 0, display_max.x - width)<span class='macro_popup'>(((new_x) &gt; (display_max.x - width)) ? (display_max.x - width<br>) : (((new_x) &lt; (0)) ? (0) : (new_x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> new_y = <span class='macro'>CLAMP (new_y, 0, display_max.y - height)<span class='macro_popup'>(((new_y) &gt; (display_max.y - height)) ? (display_max.y - height<br>) : (((new_y) &lt; (0)) ? (0) : (new_y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= (display_min.x + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_x + width) &gt;= (display_max.x - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= (display_min.y + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_y + height) &gt;= (display_max.y - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> new_monitor = panel_multimonitor_get_monitor_at_point (new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> x = new_x - panel_multimonitor_x (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> y = new_y - panel_multimonitor_y (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= display_min.y + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> new_y + height &gt;= display_max.y - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> x_centered = abs (x - ((monitor_geom.width - width) / 2))</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= display_min.x + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> new_x + width &gt;= display_max.x - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> y_centered = abs (y - ((monitor_geom.height - height) / 2))</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>if</span> (x_centered)</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> x = (monitor_geom.width - width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='keyword'>if</span> (y_centered)</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> y = (monitor_geom.height - height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>if</span> (!x_centered &amp;&amp; (x + width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> x_right = monitor_geom.width - (x + width);</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='keyword'>if</span> (!y_centered &amp;&amp; (y + height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> y_bottom = monitor_geom.height - (y + height);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> panel_toplevel_set_monitor (toplevel, new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> panel_toplevel_set_x (toplevel, x, x_right, x_centered);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> panel_toplevel_set_y (toplevel, y, y_bottom, y_centered);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> new_x = pointer_x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> new_y = pointer_y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> panel_toplevel_move_to (toplevel, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_rotate_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> <span class='keyword'>int</span> x_diff, y_diff;</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> x_diff = pointer_x - (x + toplevel-&gt;priv-&gt;geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> y_diff = pointer_y - (y + toplevel-&gt;priv-&gt;geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>if</span> (((-y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> (( y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_RIGHT);</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> (( x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_BOTTOM);</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((( y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> ((-y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_LEFT);</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> (( x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_TOP);</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_warp_pointer_increment(PanelToplevel* toplevel, <span class='keyword'>int</span> keyval, <span class='keyword'>int</span> increment)</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> GdkWindow *root_window;</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_X11_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_x11_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_X11_SCREEN (screen)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> root_window = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> device = gdk_seat_get_pointer (gdk_display_get_default_seat (gtk_widget_get_display (<span class='macro'>GTK_WIDGET(root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>)));</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> gdk_window_get_device_position (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>), device, &amp;new_x, &amp;new_y, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> <span class='keyword'>switch</span> (keyval) {</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> new_y -= increment;</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> new_x -= increment;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> new_y += increment;</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> new_x += increment;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 884, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> panel_warp_pointer (root_window, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_floating(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"><span class='directive'>#define SMALL_INCREMENT 1</span></td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"><span class='directive'>#define NORMAL_INCREMENT 10</span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='keyword'>int</span> increment = NORMAL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_SHIFT_MASK)</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> increment = SMALL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_warp_pointer_increment (</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> toplevel, event-&gt;keyval, increment);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"><span class='directive'>#undef SMALL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"><span class='directive'>#undef NORMAL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_expanded(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 934, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_initial_resize_keypress(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_UP;</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 973, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, grab_op, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_key_event(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> retval = panel_toplevel_move_keyboard_expanded (</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> retval = panel_toplevel_move_keyboard_floating (</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> retval = panel_toplevel_initial_resize_keypress (toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> retval = panel_toplevel_warp_pointer_increment (toplevel, event-&gt;keyval, 1);</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1022, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Escape<span class='macro_popup'>0xff1b</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> panel_toplevel_cancel_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Return<span class='macro_popup'>0xff0d</span></span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Enter<span class='macro_popup'>0xff8d</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_space<span class='macro_popup'>0x020</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Space<span class='macro_popup'>0xff80</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='keyword'>default</span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_motion_event(PanelToplevel* toplevel, GdkEventMotion* event)</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> panel_toplevel_calc_new_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_CONTROL_MASK)</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> panel_toplevel_rotate_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> panel_toplevel_move_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> panel_toplevel_resize_to_pointer (toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_floating(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> GdkPoint position_on_monitor;</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> toplevel-&gt;priv-&gt;floating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> position_on_monitor.x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> position_on_monitor.x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> position_on_monitor.y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> position_on_monitor.y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> (position_on_monitor.y &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> (position_on_monitor.y &lt; (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> (position_on_monitor.x &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> (position_on_monitor.x &lt; (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"><span class='keyword'>void</span> panel_toplevel_push_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;n_autohide_disablers++)</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='keyword'>void</span> panel_toplevel_pop_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0))<br> { } else { g_return_if_fail_warning (((gchar*) 0), ((const char<br>*) (__func__)), "toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>if</span> (!--toplevel-&gt;priv-&gt;n_autohide_disablers)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_get_autohide_disabled(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0 ? <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span> : <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_hide_button_event(PanelToplevel* toplevel, GdkEventButton* event, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 1)</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='keyword'>return</span> gtk_widget_event (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_hide_button_clicked(PanelToplevel* toplevel, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> gboolean ltr;</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating ||</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> ltr = gtk_widget_get_direction (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>) == GTK_TEXT_DIR_LTR;</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL) {</td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> GtkDirectionType direction;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> direction = GTK_DIR_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> direction = ltr ? GTK_DIR_LEFT : GTK_DIR_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> direction = ltr ? GTK_DIR_RIGHT : GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1163, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, (gint) direction);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line">set_arrow_type (GtkImage *image,</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> GtkArrowType arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>switch</span> (arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_NONE:</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-down-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-up-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-start-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-end-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"><span class='keyword'>static</span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line">panel_toplevel_add_hide_button (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> GtkArrowType arrow_type,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> <span class='keyword'>int</span> left,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='keyword'>int</span> top)</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkWidget *button;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> AtkObject *obj;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> button = gtk_button_new ();</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> obj = gtk_widget_get_accessible (button);</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> atk_object_set_name (obj, <span class='macro'>_(<span class='string_literal'>"Hide Panel"</span>)<span class='macro_popup'>gettext ("Hide Panel")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> gtk_widget_set_can_default (button, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> arrow = gtk_image_new ();</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (button)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_container_get_type ()))))))</span></span>, arrow);</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> gtk_widget_show (arrow);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='string_literal'>"arrow-type"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_clicked), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-press-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-release-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, button, left, top, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='keyword'>return</span> button;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_buttons_showing(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='keyword'>switch</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1260, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"><span class='comment'>/* force set hide button size on panel size &lt; 30px */</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons_size (GtkWidget *button, <span class='keyword'>int</span> panel_size)</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> GtkCssProvider *css_provider;</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> GtkSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gchar *gtk_theme_name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> context = gtk_widget_get_style_context (button);</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"panel-button"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='comment'>/* get defaults from theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> settings = gtk_settings_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> g_object_get (settings, <span class='string_literal'>"gtk-theme-name"</span>, &amp;gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> css_provider = gtk_css_provider_get_named (gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> g_free (gtk_theme_name);</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> <span class='comment'>/* set custom css by adding our custom code to the default theme css</span></td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='comment'>* NOTE that contriary to the documentation:</span></td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='comment'>* https://developer.gnome.org/gtk3/stable/GtkCssProvider.html#gtk-css-provider-load-from-data</span></td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> <span class='comment'>* the previously loaded theme is NOT cleared from the css_provider. (reason unknown)</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='comment'>* In other words, this works exactly, how we need it here.</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='comment'>* ALSO NOTE that using gtk_css_provider_to_string () to convert the theme css data into a string</span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='comment'>* and then adding the custom css, then adding this updated css to a css_provider</span></td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='comment'>* with the gtk_css_provider_load_from_data () also works,</span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='comment'>* however some themes can't be easily converted to strings, beacuse of the binary data</span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='comment'>* they contain. This causes a delay of minutes in loading the mate-panel,</span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='comment'>* and so this approach is not viable. */</span></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 30) {</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> gtk_css_provider_load_from_data (css_provider, <span class='string_literal'>".panel-button {min-height: 13px; min-width: 13px; padding: 0px;}"</span>, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> gtk_style_context_add_provider (context, <span class='macro'>GTK_STYLE_PROVIDER (css_provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((css_provider)), ((gtk_style_provider_get_type<br> ()))))))</span></span>, <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='comment'>/* get arrow image */</span></td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> arrow = gtk_bin_get_child (<span class='macro'>GTK_BIN (button)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_bin_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> <span class='comment'>/* set image size */</span></td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20) {</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 12);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40) {</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 16);</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60) {</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 22);</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 24);</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>int</span> panel_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> panel_toplevel_update_buttons_showing (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_top, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_left, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_right, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), (((GType) ((20)<br> &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), (((GType) ((<br>20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='comment'>/* set size after setting the arrow */</span></td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> <span class='keyword'>int</span> hb_size;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20)</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> hb_size = 16;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40)</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> hb_size = 20;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60)</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> hb_size = 26;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> hb_size = 30;</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_top, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_left, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_right, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_contains_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> GdkDevice *pointer;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> pointer = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> screen = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> x = y = -1;</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> gdk_device_get_position (pointer, &amp;screen, &amp;x, &amp;y);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>if</span> (screen != gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>if</span> (x == -1 || y == -1)</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> <span class='keyword'>if</span> (x &lt; toplevel-&gt;priv-&gt;geometry.x || x &gt;= (toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width) ||</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> y &lt; toplevel-&gt;priv-&gt;geometry.y || y &gt;= (toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height))</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> <span class='keyword'>int</span> panel_toplevel_get_effective_auto_hide_size(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_height / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_width / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> <span class='comment'>/* paranoia */</span></td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> <span class='keyword'>return</span> (size &lt;= 0) ? <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> : size;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_update_struts(PanelToplevel* toplevel, gboolean end_of_animation)</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> gboolean geometry_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>int</span> strut, strut_start, strut_end;</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;updated_geometry_initial)</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span> &amp;&amp; toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> <span class='comment'>/* In the case of the initial animation, we really want the struts to</span></td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> <span class='comment'>* represent what is at the end of the animation, to avoid desktop</span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='comment'>* icons jumping around. */</span></td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> end_of_animation = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='comment'>/* We've not started the animation yet, so we have to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> <span class='comment'>* where we want to end. Note that we don't want to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='comment'>* this everytime, since the struts conflict resolution will be</span></td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> <span class='comment'>* overridden if we do so */</span></td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> <span class='keyword'>if</span> (end_of_animation) {</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> x = toplevel-&gt;priv-&gt;animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> y = toplevel-&gt;priv-&gt;animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> width = toplevel-&gt;priv-&gt;animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> height = toplevel-&gt;priv-&gt;animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> strut = strut_start = strut_end = 0;</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> <span class='keyword'>if</span> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> <span class='keyword'>if</span> (y &lt;= monitor_geom.y) {</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> strut = y + height - monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (y &gt;= monitor_geom.y + monitor_geom.height - height) {</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> strut = monitor_geom.y + monitor_geom.height - y;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> strut_start = <span class='macro'>MAX (x, monitor_geom.x)<span class='macro_popup'>(((x) &gt; (monitor_geom.x)) ? (x) : (monitor_geom.x))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> strut_end = <span class='macro'>MIN (x + width, monitor_geom.x + monitor_geom.width)<span class='macro_popup'>(((x + width) &lt; (monitor_geom.x + monitor_geom.width)) ? (<br>x + width) : (monitor_geom.x + monitor_geom.width))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>if</span> (x &lt;= monitor_geom.x) {</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> strut = x + width - monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (x &gt;= monitor_geom.x + monitor_geom.width - width) {</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> strut = monitor_geom.x + monitor_geom.width - x;</td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> strut_start = <span class='macro'>MAX (y, monitor_geom.y)<span class='macro_popup'>(((y) &gt; (monitor_geom.y)) ? (y) : (monitor_geom.y))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> strut_end = <span class='macro'>MIN (y + height, monitor_geom.y + monitor_geom.height)<span class='macro_popup'>(((y + height) &lt; (monitor_geom.y + monitor_geom.height)) ?<br> (y + height) : (monitor_geom.y + monitor_geom.height))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> <span class='keyword'>if</span> (orientation != toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; strut &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> strut = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> screen = gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> geometry_changed = panel_struts_register_strut (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> screen,</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> toplevel-&gt;priv-&gt;monitor,</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> orientation,</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> strut,</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> strut_start,</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> strut_end);</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN ||</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> panel_struts_unset_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> <span class='keyword'>return</span> geometry_changed;</td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"><span class='keyword'>void</span> panel_toplevel_update_edges(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> PanelFrameEdge inner_edges;</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"> PanelFrameEdge outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> gboolean inner_frame = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"> <span class='comment'>/* We don't want any bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> edges |= PANEL_EDGE_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> edges |= PANEL_EDGE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &lt; (monitor_geom.height - height))</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> edges |= PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &lt; (monitor_geom.width - width))</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> edges |= PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> <span class='comment'>/* There is a conflict in the position algorithm when a</span></td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> <span class='comment'>* non-expanded centered panel is nearly the size of the</span></td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='comment'>* screen. This is similar to the one we have in</span></td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"> <span class='comment'>* panel_toplevel_update_position(). A simple solution is</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> <span class='comment'>* to keep the bevels in this case. */</span></td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_left) ||</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_right)) {</td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_top) ||</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_bottom)) {</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>if</span> (!inner_frame) {</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> inner_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> outer_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> inner_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> outer_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> panel_frame_set_edges (toplevel-&gt;priv-&gt;inner_frame, inner_edges);</td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges != outer_edges) {</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> toplevel-&gt;priv-&gt;edges = outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_construct_description(PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Drawer"</span>)<span class='macro_popup'>gettext ("Drawer")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> <span class='comment'>/* translators: these string will be shown in MetaCity's switch window</span></td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> <span class='comment'>* popup when you pass the focus to a panel */</span></td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Bottom Panel"</span>)<span class='macro_popup'>gettext ("Bottom Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Left Panel"</span>)<span class='macro_popup'>gettext ("Left Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Right Panel"</span>)<span class='macro_popup'>gettext ("Right Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1655, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> description = panel_toplevel_construct_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;description, description))</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description)</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_free (toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>g_strdup (description)<span class='macro_popup'>g_strdup_inline (description)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name)</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name :</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> toplevel-&gt;priv-&gt;description,</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_attached_position(PanelToplevel* toplevel, gboolean hidden, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> GtkAllocation attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> GdkRectangle toplevel_box;</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> GdkRectangle parent_box;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> GdkRectangle attach_box;</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> <span class='keyword'>int</span> x_origin = 0, y_origin = 0;</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_widget_get_type<br> ()))))))</span></span>) ||</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> !gtk_widget_get_realized (toplevel-&gt;priv-&gt;attach_widget))</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> gtk_widget_get_allocation (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>, &amp;attach_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> toplevel_box = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> parent_box = toplevel-&gt;priv-&gt;attach_toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> attach_box = attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> <span class='keyword'>if</span> (attach_box.x != -1) {</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> &amp;x_origin, &amp;y_origin);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> attach_box.x += x_origin;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> attach_box.y += y_origin;</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> <span class='comment'>/* attach_widget isn't allocated. Put the toplevel</span></td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='comment'>* off screen.</span></td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> attach_box.x = -toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> attach_box.y = -toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> attach_orientation = panel_toplevel_get_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> <span class='keyword'>if</span> (attach_orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> *x = attach_box.x + attach_box.width / 2 - toplevel_box.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> *y = attach_box.y + attach_box.height / 2 - toplevel_box.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> *y += parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> *y -= toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> *x += parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> *x -= toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1756, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> *x -= monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> *y -= monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - toplevel-&gt;priv-&gt;original_width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>)) ? (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - toplevel-&gt;priv-&gt;original_height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>)) ? (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_normal_position(PanelToplevel* toplevel, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1777, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - width)) ? (monitor_geom.width<br> - width) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - height)) ? (monitor_geom.height<br> - height) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line">panel_toplevel_update_auto_hide_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> <span class='keyword'>int</span> *h,</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> gboolean for_end_position)</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1825, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;floating) {</td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> panel_toplevel_update_normal_position (toplevel, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='comment'>/* For the initial animation, we animate from outside the screen, and</span></td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> <span class='comment'>* so we don't want the toplevel to be visible at all. But when the</span></td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line"> <span class='comment'>* request is for the end position, then we give the real result (it's</span></td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> <span class='comment'>* useful for struts) */</span></td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"> <span class='keyword'>if</span> (for_end_position || toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line"> auto_hide_size = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> auto_hide_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> *y = - (height - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> *y = monitor_geom.height - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> *x = - (width - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> *x = monitor_geom.width - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1862, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> } <span class='keyword'>else</span> <span class='comment'>/* if (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK) */</span> {</td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='comment'>/* FIXME: this is wrong for Xinerama. In the Xinerama case</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line"> <span class='comment'>* I think if hiding it requires it to go onto the</span></td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line"> <span class='comment'>* next monitor then it should just move it on to</span></td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> <span class='comment'>* the next monitor and set its state back to normal</span></td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line">panel_toplevel_update_hidden_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> <span class='keyword'>int</span> *h)</td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> <span class='keyword'>int</span> min_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> GtkAllocation hide_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1904, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line"> <span class='comment'>/* FIXME should find a better default */</span></td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> min_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_bottom,</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> *y = - (height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_top,</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> *y = monitor_geom.height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_right,</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"> *x = - (width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_left,</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> *x = monitor_geom.width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1946, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> <span class='comment'>* This is "almost" like the double sine movement</span></td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> <span class='comment'>* from the original panel except that it uses</span></td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='comment'>* a cubic (twice again). I suppose it looks less</span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='comment'>* mathematical now :) -- _v_</span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line">get_delta (<span class='keyword'>int</span> src,</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> <span class='keyword'>int</span> dest,</td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"> GTimeSpan elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> GTimeSpan duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> <span class='keyword'>double</span> x, percentage;</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>if</span> (abs (dest - src) &lt;= 1 || elapsed_time &gt;= duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line"> <span class='keyword'>return</span> dest - src;</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"> <span class='comment'>/* The cubic is: p(x) = (-2) x^2 (x-1.5) */</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line"> <span class='comment'>/* running p(p(x)) to make it more "pronounced",</span></td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line"> <span class='comment'>* effectively making it a ninth-degree polynomial */</span></td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> x = (<span class='keyword'>double</span>)elapsed_time/duration_time;</td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> x = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>/* run it again */</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> percentage = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> percentage = <span class='macro'>CLAMP (percentage, 0.0, 1.0)<span class='macro_popup'>(((percentage) &gt; (1.0)) ? (1.0) : (((percentage) &lt; (0.0<br>)) ? (0.0) : (percentage)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line"> <span class='keyword'>return</span> ((dest - src) * percentage);</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">panel_toplevel_update_animating_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GTimeSpan animation_elapsed_time;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> <span class='keyword'>int</span> monitor_offset_x, monitor_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;animation_start_time &lt;= 0) ||</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> (toplevel-&gt;priv-&gt;animation_duration_time &lt;= 0))</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> animation_elapsed_time = g_get_monotonic_time () - toplevel-&gt;priv-&gt;animation_start_time;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> monitor_offset_x = panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> monitor_offset_y = panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> deltaw = get_delta (toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> deltah = get_delta (toplevel-&gt;priv-&gt;geometry.height,</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> deltax = get_delta (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> deltay = get_delta (toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='keyword'>if</span> (deltaw != 0 &amp;&amp; abs (deltaw) &gt; abs (deltax))</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> deltax = deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> <span class='keyword'>if</span> (deltah != 0 &amp;&amp; abs (deltah) &gt; abs (deltay))</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> deltay = deltah;</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x += deltax;</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y += deltay;</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width += deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height += deltah;</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x == toplevel-&gt;priv-&gt;animation_end_x &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y == toplevel-&gt;priv-&gt;animation_end_y) {</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='comment'>/* Note: it's important to set initial_animation_done to TRUE</span></td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='comment'>* as soon as possible (hence, here) since we don't want to</span></td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> <span class='comment'>* have a wrong value in a size request event */</span></td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; panel_toplevel_get_is_hidden (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> gtk_widget_unmap (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line">panel_toplevel_update_expanded_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> <span class='keyword'>int</span> x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> x = -1;</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> y = -1;</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> y = monitor_geom.y + monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> y_bottom = 0;</td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> x = monitor_geom.x + monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> x_right = 0;</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2087, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (x, y);</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> x -= panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> y -= panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x_right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y_bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line">panel_toplevel_update_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='keyword'>int</span> w, h;</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> panel_toplevel_update_animating_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;position_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> toplevel-&gt;priv-&gt;x -= toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> x_right = monitor_geom.width - (toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line"> <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line"> toplevel-&gt;priv-&gt;y -= toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> y_bottom = monitor_geom.height - (toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> panel_toplevel_update_expanded_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> panel_toplevel_calc_floating (toplevel); <span class='comment'>/* FIXME should probably be done after panel_toplevel_update_normal_position() too */</span></td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line"> y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> w = h = -1;</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> panel_toplevel_update_normal_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> panel_toplevel_update_hidden_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> <span class='keyword'>if</span> (w != -1)</td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = w;</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> <span class='keyword'>if</span> (h != -1)</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = h;</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"> <span class='comment'>/* This is some kind of snap: there's a possibility of an infinite loop</span></td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line"> <span class='comment'>* because of the bevels of the frame that are set in</span></td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='comment'>* panel_toplevel_update_edges(). The bevels change the width/height of</span></td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='comment'>* the toplevel. The typical loop is:</span></td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='comment'>* x = 1 =&gt; outer bevel =&gt; x = 0 =&gt; no outer bevel = &gt; x = 1 =&gt; ...</span></td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='comment'>* FIXME: maybe the real bug is that we enter into this loop (see bug</span></td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> <span class='comment'>* #160748 to learn how to reproduce.) */</span></td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> background = &amp;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> <span class='comment'>/* There's no bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> <span class='keyword'>if</span> (panel_background_effective_type (background) == PANEL_BACK_NONE) {</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> GdkRectangle *geometry;</td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> <span class='keyword'>int</span> max_size;</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> state = gtk_widget_get_state_flags (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> geometry = &amp;toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> <span class='keyword'>if</span> (x &lt;= padding.left &amp;&amp; x &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> <span class='keyword'>if</span> (y &lt;= padding.top &amp;&amp; y &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> max_size = monitor_geom.width - geometry-&gt;width - padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> <span class='keyword'>if</span> (x + padding.left &gt;= max_size &amp;&amp; x &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> x = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> max_size = monitor_geom.height - geometry-&gt;height - padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> <span class='keyword'>if</span> (y + padding.top &gt;= max_size &amp;&amp; y &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> y = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = x;</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = y;</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line">calculate_minimum_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> GtkStyleContext *style_context;</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> PangoFontDescription *font_desc;</td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> PangoContext *pango_context;</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> PangoFontMetrics *metrics;</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> <span class='keyword'>int</span> ascent;</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> <span class='keyword'>int</span> descent;</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> <span class='keyword'>int</span> thickness;</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> style_context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> gtk_style_context_get(style_context, state, <span class='macro'>GTK_STYLE_PROPERTY_FONT<span class='macro_popup'>"font"</span></span>, &amp;font_desc, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> pango_context = gtk_widget_get_pango_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> metrics = pango_context_get_metrics (pango_context,</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> font_desc,</td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> pango_context_get_language (pango_context));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> gtk_style_context_get_padding (style_context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> ascent = pango_font_metrics_get_ascent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> descent = pango_font_metrics_get_descent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> pango_font_description_free (font_desc);</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> pango_font_metrics_unref (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line"> thickness = (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> padding.top + padding.bottom :</td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"> padding.left + padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANGO_PIXELS (ascent + descent)<span class='macro_popup'>(((int)(ascent + descent) + 512) &gt;&gt; 10)</span></span> + thickness;</td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line">panel_toplevel_update_size_from_hints (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='keyword'>int</span> requisition_size,</td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='keyword'>int</span> monitor_size,</td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size)</td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='keyword'>int</span> nb_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> AppletSizeHints *applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> AppletSizeHintsAlloc *using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='keyword'>int</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='keyword'>int</span> full_hints;</td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='comment'>/* Scale down the size so that the panel only takes what it needs for the applets it has. */</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> total_size = non_panel_widget_size + (requisition_size / toplevel-&gt;priv-&gt;scale);</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"> nb_size_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;nb_applets_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> <span class='keyword'>if</span> (nb_size_hints &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> applets_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line"> using_hint = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> using_hint[i].index = applets_hints[i].len - 2;</td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"> using_hint[i].size = applets_hints[i].hints[applets_hints[i].len - 1];</td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line"> total_size += using_hint[i].size;</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> <span class='keyword'>if</span> (total_size &gt; monitor_size)</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>return</span> monitor_size;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> <span class='keyword'>while</span> (full_hints != nb_size_hints &amp;&amp; total_size &lt; monitor_size) {</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> <span class='keyword'>int</span> bonus;</td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> <span class='keyword'>int</span> extra_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> / (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> extra_bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> % (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> <span class='keyword'>int</span> current_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> current_bonus = bonus;</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> <span class='keyword'>while</span> (using_hint[i].index &gt; 0 &amp;&amp; applets_hints[i].hints[using_hint[i].index - 1] &lt; using_hint[i].size + current_bonus) {</td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"> new_size = applets_hints[i].hints[using_hint[i].index - 1];</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line"> current_bonus = using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> + current_bonus - new_size;</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> total_size = total_size - using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> + new_size;</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> using_hint[i].index -= 2;</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"> <span class='macro'>using_hint[i].size + current_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> total_size += (new_size - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (extra_bonus &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> <span class='macro'>using_hint[i].size + extra_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> total_size += (new_size</td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> extra_bonus -= (new_size</td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line"> <span class='keyword'>if</span> (using_hint[i].size == applets_hints[i].hints[using_hint[i].index])</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> full_hints++;</td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line">panel_toplevel_update_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='keyword'>int</span> minimum_height;</td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size;</td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"> width = requisition-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> height = requisition-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> !toplevel-&gt;priv-&gt;buttons_enabled &amp;&amp; !toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> non_panel_widget_size = 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> non_panel_widget_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> minimum_height = calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> height = <span class='macro'>MAX (MIN (MAX (height, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> <span class='keyword'>int</span> max_width;</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> max_width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> max_width = monitor_geom.width</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> max_width = toplevel-&gt;priv-&gt;geometry.x +</td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> width = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> requisition-&gt;width,</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> max_width,</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> width = <span class='macro'>MAX (MINIMUM_WIDTH, width)<span class='macro_popup'>(((100) &gt; (width)) ? (100) : (width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> width = <span class='macro'>MAX (MIN (MAX (width, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> <span class='keyword'>int</span> max_height;</td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> max_height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> max_height = monitor_geom.height</td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> max_height = toplevel-&gt;priv-&gt;geometry.y +</td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> height = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> requisition-&gt;height,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> max_height,</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line"> height = <span class='macro'>MAX (MINIMUM_WIDTH, height)<span class='macro_popup'>(((100) &gt; (height)) ? (100) : (height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> height += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> height += padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> width += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> width += padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = <span class='macro'>CLAMP (width, 0, monitor_geom.width)<span class='macro_popup'>(((width) &gt; (monitor_geom.width)) ? (monitor_geom.width) :<br> (((width) &lt; (0)) ? (0) : (width)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = <span class='macro'>CLAMP (height, 0, monitor_geom.height)<span class='macro_popup'>(((height) &gt; (monitor_geom.height)) ? (monitor_geom.height<br>) : (((height) &lt; (0)) ? (0) : (height)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> toplevel-&gt;priv-&gt;original_width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> toplevel-&gt;priv-&gt;original_height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">panel_toplevel_update_geometry (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> panel_toplevel_update_size (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> panel_toplevel_update_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line">panel_toplevel_attach_widget_destroyed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> panel_toplevel_detach (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line">panel_toplevel_attach_widget_configure (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line">panel_toplevel_update_attach_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> attach_orientation =</td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"> panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2567"><td class="num" id="LN2567">2567</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="2568"><td class="num" id="LN2568">2568</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2569"><td class="num" id="LN2569">2569</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2570"><td class="num" id="LN2570">2570</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2570, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2571"><td class="num" id="LN2571">2571</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2572"><td class="num" id="LN2572">2572</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2573"><td class="num" id="LN2573">2573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2574"><td class="num" id="LN2574">2574</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="2575"><td class="num" id="LN2575">2575</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2576"><td class="num" id="LN2576">2576</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2577"><td class="num" id="LN2577">2577</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2578"><td class="num" id="LN2578">2578</td><td class="line">panel_toplevel_attach_widget_parent_set (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2579"><td class="num" id="LN2579">2579</td><td class="line"> GtkWidget *previous_parent,</td></tr>
+<tr class="codeline" data-linenumber="2580"><td class="num" id="LN2580">2580</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2581"><td class="num" id="LN2581">2581</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2582"><td class="num" id="LN2582">2582</td><td class="line"> GtkWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="2583"><td class="num" id="LN2583">2583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2584"><td class="num" id="LN2584">2584</td><td class="line"> panel_widget = gtk_widget_get_parent (<span class='macro'>GTK_WIDGET (attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_widget)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2585"><td class="num" id="LN2585">2585</td><td class="line"> <span class='keyword'>if</span> (!panel_widget)</td></tr>
+<tr class="codeline" data-linenumber="2586"><td class="num" id="LN2586">2586</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2587"><td class="num" id="LN2587">2587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2588"><td class="num" id="LN2588">2588</td><td class="line"> <span class='macro'>g_assert (PANEL_IS_WIDGET (panel_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((panel_widget)); GType __t = ((panel_widget_get_type()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>))))) ; else g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2588, ((const char*) (__func__)), "PANEL_IS_WIDGET (panel_widget)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2589"><td class="num" id="LN2589">2589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2590"><td class="num" id="LN2590">2590</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>PANEL_WIDGET (panel_widget)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel_widget)), ((panel_widget_get_type()))))))</span></span>-&gt;toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2591"><td class="num" id="LN2591">2591</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2592"><td class="num" id="LN2592">2592</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2593"><td class="num" id="LN2593">2593</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2594"><td class="num" id="LN2594">2594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2595"><td class="num" id="LN2595">2595</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2596"><td class="num" id="LN2596">2596</td><td class="line">panel_toplevel_attach_toplevel_hiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2597"><td class="num" id="LN2597">2597</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2598"><td class="num" id="LN2598">2598</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_get_is_hidden (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="2599"><td class="num" id="LN2599">2599</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="2600"><td class="num" id="LN2600">2600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2601"><td class="num" id="LN2601">2601</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2602"><td class="num" id="LN2602">2602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2603"><td class="num" id="LN2603">2603</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2604"><td class="num" id="LN2604">2604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2605"><td class="num" id="LN2605">2605</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2606"><td class="num" id="LN2606">2606</td><td class="line">panel_toplevel_attach_toplevel_unhiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2607"><td class="num" id="LN2607">2607</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2608"><td class="num" id="LN2608">2608</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attach_hidden)</td></tr>
+<tr class="codeline" data-linenumber="2609"><td class="num" id="LN2609">2609</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2610"><td class="num" id="LN2610">2610</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2611"><td class="num" id="LN2611">2611</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2612"><td class="num" id="LN2612">2612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2613"><td class="num" id="LN2613">2613</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2614"><td class="num" id="LN2614">2614</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2615"><td class="num" id="LN2615">2615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2616"><td class="num" id="LN2616">2616</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2617"><td class="num" id="LN2617">2617</td><td class="line">panel_toplevel_reverse_arrow (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2618"><td class="num" id="LN2618">2618</td><td class="line"> GtkWidget *button)</td></tr>
+<tr class="codeline" data-linenumber="2619"><td class="num" id="LN2619">2619</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2620"><td class="num" id="LN2620">2620</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="2621"><td class="num" id="LN2621">2621</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2622"><td class="num" id="LN2622">2622</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2623"><td class="num" id="LN2623">2623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2624"><td class="num" id="LN2624">2624</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="2625"><td class="num" id="LN2625">2625</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="2626"><td class="num" id="LN2626">2626</td><td class="line"> arrow_type = GTK_ARROW_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="2627"><td class="num" id="LN2627">2627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2628"><td class="num" id="LN2628">2628</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="2629"><td class="num" id="LN2629">2629</td><td class="line"> arrow_type = GTK_ARROW_UP;</td></tr>
+<tr class="codeline" data-linenumber="2630"><td class="num" id="LN2630">2630</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2631"><td class="num" id="LN2631">2631</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2632"><td class="num" id="LN2632">2632</td><td class="line"> arrow_type = GTK_ARROW_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2633"><td class="num" id="LN2633">2633</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2634"><td class="num" id="LN2634">2634</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2635"><td class="num" id="LN2635">2635</td><td class="line"> arrow_type = GTK_ARROW_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2636"><td class="num" id="LN2636">2636</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2637"><td class="num" id="LN2637">2637</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2638"><td class="num" id="LN2638">2638</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2638, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2639"><td class="num" id="LN2639">2639</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2640"><td class="num" id="LN2640">2640</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2641"><td class="num" id="LN2641">2641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2642"><td class="num" id="LN2642">2642</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrow-type"</span>, <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2643"><td class="num" id="LN2643">2643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2644"><td class="num" id="LN2644">2644</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (gtk_bin_get_child (GTK_BIN (button)))<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_bin_get_child (((((GtkBin*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), ((gtk_bin_get_type ())))))))))<br>, ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="2645"><td class="num" id="LN2645">2645</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2646"><td class="num" id="LN2646">2646</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2647"><td class="num" id="LN2647">2647</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2648"><td class="num" id="LN2648">2648</td><td class="line">panel_toplevel_reverse_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2649"><td class="num" id="LN2649">2649</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2650"><td class="num" id="LN2650">2650</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="2651"><td class="num" id="LN2651">2651</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="2652"><td class="num" id="LN2652">2652</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="2653"><td class="num" id="LN2653">2653</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="2654"><td class="num" id="LN2654">2654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2655"><td class="num" id="LN2655">2655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2656"><td class="num" id="LN2656">2656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2657"><td class="num" id="LN2657">2657</td><td class="line">panel_toplevel_disconnect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2658"><td class="num" id="LN2658">2658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2659"><td class="num" id="LN2659">2659</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="2660"><td class="num" id="LN2660">2660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2661"><td class="num" id="LN2661">2661</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION(2,62,0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (62)) || (2 == (2<br>) &amp;&amp; 78 == (62) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2662"><td class="num" id="LN2662">2662</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2663"><td class="num" id="LN2663">2663</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_toplevel_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2664"><td class="num" id="LN2664">2664</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2665"><td class="num" id="LN2665">2665</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2666"><td class="num" id="LN2666">2666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2667"><td class="num" id="LN2667">2667</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2668"><td class="num" id="LN2668">2668</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_widget_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2669"><td class="num" id="LN2669">2669</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2670"><td class="num" id="LN2670">2670</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2671"><td class="num" id="LN2671">2671</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2672"><td class="num" id="LN2672">2672</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2673"><td class="num" id="LN2673">2673</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2674"><td class="num" id="LN2674">2674</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2675"><td class="num" id="LN2675">2675</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2676"><td class="num" id="LN2676">2676</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2677"><td class="num" id="LN2677">2677</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2678"><td class="num" id="LN2678">2678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2679"><td class="num" id="LN2679">2679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2680"><td class="num" id="LN2680">2680</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2681"><td class="num" id="LN2681">2681</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_widget_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2682"><td class="num" id="LN2682">2682</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="2683"><td class="num" id="LN2683">2683</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2684"><td class="num" id="LN2684">2684</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2685"><td class="num" id="LN2685">2685</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2686"><td class="num" id="LN2686">2686</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2687"><td class="num" id="LN2687">2687</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2688"><td class="num" id="LN2688">2688</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2689"><td class="num" id="LN2689">2689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2690"><td class="num" id="LN2690">2690</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2691"><td class="num" id="LN2691">2691</td><td class="line">panel_toplevel_connect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2692"><td class="num" id="LN2692">2692</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2693"><td class="num" id="LN2693">2693</td><td class="line"> gulong *signals;</td></tr>
+<tr class="codeline" data-linenumber="2694"><td class="num" id="LN2694">2694</td><td class="line"> <span class='keyword'>int</span> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2695"><td class="num" id="LN2695">2695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2696"><td class="num" id="LN2696">2696</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_toplevel_signals;</td></tr>
+<tr class="codeline" data-linenumber="2697"><td class="num" id="LN2697">2697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2698"><td class="num" id="LN2698">2698</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2699"><td class="num" id="LN2699">2699</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2700"><td class="num" id="LN2700">2700</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2701"><td class="num" id="LN2701">2701</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2702"><td class="num" id="LN2702">2702</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"notify::orientation"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2703"><td class="num" id="LN2703">2703</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_update_attach_orientation), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2704"><td class="num" id="LN2704">2704</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2705"><td class="num" id="LN2705">2705</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2706"><td class="num" id="LN2706">2706</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2707"><td class="num" id="LN2707">2707</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2708"><td class="num" id="LN2708">2708</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"hiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2709"><td class="num" id="LN2709">2709</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_hiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2710"><td class="num" id="LN2710">2710</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2711"><td class="num" id="LN2711">2711</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"unhiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2712"><td class="num" id="LN2712">2712</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_unhiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2713"><td class="num" id="LN2713">2713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2714"><td class="num" id="LN2714">2714</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_TOPLEVEL_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2714, ((const char*) (__func__)), "i == N_ATTACH_TOPLEVEL_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2715"><td class="num" id="LN2715">2715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2716"><td class="num" id="LN2716">2716</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_widget_signals;</td></tr>
+<tr class="codeline" data-linenumber="2717"><td class="num" id="LN2717">2717</td><td class="line"> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2718"><td class="num" id="LN2718">2718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2719"><td class="num" id="LN2719">2719</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2720"><td class="num" id="LN2720">2720</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2721"><td class="num" id="LN2721">2721</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2722"><td class="num" id="LN2722">2722</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2723"><td class="num" id="LN2723">2723</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2724"><td class="num" id="LN2724">2724</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2725"><td class="num" id="LN2725">2725</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2726"><td class="num" id="LN2726">2726</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"parent-set"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2727"><td class="num" id="LN2727">2727</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_parent_set), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2728"><td class="num" id="LN2728">2728</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2729"><td class="num" id="LN2729">2729</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"show"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2730"><td class="num" id="LN2730">2730</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_show), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2731"><td class="num" id="LN2731">2731</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2732"><td class="num" id="LN2732">2732</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"hide"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2733"><td class="num" id="LN2733">2733</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_hide), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2734"><td class="num" id="LN2734">2734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2735"><td class="num" id="LN2735">2735</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_WIDGET_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2735, ((const char*) (__func__)), "i == N_ATTACH_WIDGET_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2736"><td class="num" id="LN2736">2736</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2737"><td class="num" id="LN2737">2737</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2738"><td class="num" id="LN2738">2738</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2739"><td class="num" id="LN2739">2739</td><td class="line">panel_toplevel_attach_to_widget (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2740"><td class="num" id="LN2740">2740</td><td class="line"> PanelToplevel *attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2741"><td class="num" id="LN2741">2741</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2742"><td class="num" id="LN2742">2742</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2743"><td class="num" id="LN2743">2743</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2744"><td class="num" id="LN2744">2744</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (attach_toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_toplevel)); GType __t = ((panel_toplevel_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "PANEL_IS_TOPLEVEL (attach_toplevel)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2745"><td class="num" id="LN2745">2745</td><td class="line"> <span class='macro'>g_return_if_fail (GTK_IS_WIDGET (attach_widget))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_widget)); GType __t = ((gtk_widget_get_type ()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>)))))) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "GTK_IS_WIDGET (attach_widget)"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2746"><td class="num" id="LN2746">2746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2747"><td class="num" id="LN2747">2747</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2748"><td class="num" id="LN2748">2748</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2749"><td class="num" id="LN2749">2749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2750"><td class="num" id="LN2750">2750</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2751"><td class="num" id="LN2751">2751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2752"><td class="num" id="LN2752">2752</td><td class="line"> <span class='comment'>/* Cancelling the initial animation for drawers in</span></td></tr>
+<tr class="codeline" data-linenumber="2753"><td class="num" id="LN2753">2753</td><td class="line"> <span class='comment'>* panel_toplevel_initially_hide() is not enough, since this will</span></td></tr>
+<tr class="codeline" data-linenumber="2754"><td class="num" id="LN2754">2754</td><td class="line"> <span class='comment'>* happen only when the toplevel is realized, which might be too late</span></td></tr>
+<tr class="codeline" data-linenumber="2755"><td class="num" id="LN2755">2755</td><td class="line"> <span class='comment'>* for drawers (since it's realized when the drawer is clicked) */</span></td></tr>
+<tr class="codeline" data-linenumber="2756"><td class="num" id="LN2756">2756</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2757"><td class="num" id="LN2757">2757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2758"><td class="num" id="LN2758">2758</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2759"><td class="num" id="LN2759">2759</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2760"><td class="num" id="LN2760">2760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2761"><td class="num" id="LN2761">2761</td><td class="line"> panel_toplevel_connect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2762"><td class="num" id="LN2762">2762</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2763"><td class="num" id="LN2763">2763</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2764"><td class="num" id="LN2764">2764</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2765"><td class="num" id="LN2765">2765</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2766"><td class="num" id="LN2766">2766</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2767"><td class="num" id="LN2767">2767</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2768"><td class="num" id="LN2768">2768</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2769"><td class="num" id="LN2769">2769</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_toplevel)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2770"><td class="num" id="LN2770">2770</td><td class="line"> panel_toplevel_set_monitor (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2771"><td class="num" id="LN2771">2771</td><td class="line"> panel_toplevel_get_monitor (attach_toplevel));</td></tr>
+<tr class="codeline" data-linenumber="2772"><td class="num" id="LN2772">2772</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2773"><td class="num" id="LN2773">2773</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2774"><td class="num" id="LN2774">2774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2775"><td class="num" id="LN2775">2775</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2776"><td class="num" id="LN2776">2776</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2777"><td class="num" id="LN2777">2777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2778"><td class="num" id="LN2778">2778</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2779"><td class="num" id="LN2779">2779</td><td class="line">panel_toplevel_detach (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2780"><td class="num" id="LN2780">2780</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2781"><td class="num" id="LN2781">2781</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2782"><td class="num" id="LN2782">2782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2783"><td class="num" id="LN2783">2783</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2784"><td class="num" id="LN2784">2784</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2785"><td class="num" id="LN2785">2785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2786"><td class="num" id="LN2786">2786</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2787"><td class="num" id="LN2787">2787</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2788"><td class="num" id="LN2788">2788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2789"><td class="num" id="LN2789">2789</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2790"><td class="num" id="LN2790">2790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2791"><td class="num" id="LN2791">2791</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2792"><td class="num" id="LN2792">2792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2793"><td class="num" id="LN2793">2793</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2794"><td class="num" id="LN2794">2794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2795"><td class="num" id="LN2795">2795</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2796"><td class="num" id="LN2796">2796</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2797"><td class="num" id="LN2797">2797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2798"><td class="num" id="LN2798">2798</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2799"><td class="num" id="LN2799">2799</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2800"><td class="num" id="LN2800">2800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2801"><td class="num" id="LN2801">2801</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="2802"><td class="num" id="LN2802">2802</td><td class="line">panel_toplevel_get_is_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2803"><td class="num" id="LN2803">2803</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2804"><td class="num" id="LN2804">2804</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2805"><td class="num" id="LN2805">2805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2806"><td class="num" id="LN2806">2806</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attached;</td></tr>
+<tr class="codeline" data-linenumber="2807"><td class="num" id="LN2807">2807</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2808"><td class="num" id="LN2808">2808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2809"><td class="num" id="LN2809">2809</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="2810"><td class="num" id="LN2810">2810</td><td class="line">panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2811"><td class="num" id="LN2811">2811</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2812"><td class="num" id="LN2812">2812</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2813"><td class="num" id="LN2813">2813</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2814"><td class="num" id="LN2814">2814</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2815"><td class="num" id="LN2815">2815</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2816"><td class="num" id="LN2816">2816</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2817"><td class="num" id="LN2817">2817</td><td class="line">GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2818"><td class="num" id="LN2818">2818</td><td class="line">panel_toplevel_get_attach_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2819"><td class="num" id="LN2819">2819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2820"><td class="num" id="LN2820">2820</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2821"><td class="num" id="LN2821">2821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2822"><td class="num" id="LN2822">2822</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2823"><td class="num" id="LN2823">2823</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2824"><td class="num" id="LN2824">2824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2825"><td class="num" id="LN2825">2825</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2826"><td class="num" id="LN2826">2826</td><td class="line">panel_toplevel_popup_panel_menu (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2827"><td class="num" id="LN2827">2827</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2828"><td class="num" id="LN2828">2828</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2829"><td class="num" id="LN2829">2829</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2830"><td class="num" id="LN2830">2830</td><td class="line"> g_signal_emit_by_name (toplevel, <span class='string_literal'>"popup-menu"</span>, &amp;retval);</td></tr>
+<tr class="codeline" data-linenumber="2831"><td class="num" id="LN2831">2831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2832"><td class="num" id="LN2832">2832</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2833"><td class="num" id="LN2833">2833</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2834"><td class="num" id="LN2834">2834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2835"><td class="num" id="LN2835">2835</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2836"><td class="num" id="LN2836">2836</td><td class="line">panel_toplevel_toggle_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2837"><td class="num" id="LN2837">2837</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2838"><td class="num" id="LN2838">2838</td><td class="line"> panel_toplevel_set_expand (toplevel, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="2839"><td class="num" id="LN2839">2839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2840"><td class="num" id="LN2840">2840</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2841"><td class="num" id="LN2841">2841</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2842"><td class="num" id="LN2842">2842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2843"><td class="num" id="LN2843">2843</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2844"><td class="num" id="LN2844">2844</td><td class="line">panel_toplevel_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2845"><td class="num" id="LN2845">2845</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2846"><td class="num" id="LN2846">2846</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2847"><td class="num" id="LN2847">2847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2848"><td class="num" id="LN2848">2848</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2849"><td class="num" id="LN2849">2849</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2850"><td class="num" id="LN2850">2850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2851"><td class="num" id="LN2851">2851</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2852"><td class="num" id="LN2852">2852</td><td class="line">panel_toplevel_unexpand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2853"><td class="num" id="LN2853">2853</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2854"><td class="num" id="LN2854">2854</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2855"><td class="num" id="LN2855">2855</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2856"><td class="num" id="LN2856">2856</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2857"><td class="num" id="LN2857">2857</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2858"><td class="num" id="LN2858">2858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2859"><td class="num" id="LN2859">2859</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2860"><td class="num" id="LN2860">2860</td><td class="line">panel_toplevel_toggle_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2861"><td class="num" id="LN2861">2861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2862"><td class="num" id="LN2862">2862</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2863"><td class="num" id="LN2863">2863</td><td class="line"> panel_toplevel_hide (toplevel, toplevel-&gt;priv-&gt;auto_hide, -1);</td></tr>
+<tr class="codeline" data-linenumber="2864"><td class="num" id="LN2864">2864</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2865"><td class="num" id="LN2865">2865</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2866"><td class="num" id="LN2866">2866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2867"><td class="num" id="LN2867">2867</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2868"><td class="num" id="LN2868">2868</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2869"><td class="num" id="LN2869">2869</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2870"><td class="num" id="LN2870">2870</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2871"><td class="num" id="LN2871">2871</td><td class="line">panel_toplevel_begin_move (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2872"><td class="num" id="LN2872">2872</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2873"><td class="num" id="LN2873">2873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2874"><td class="num" id="LN2874">2874</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2875"><td class="num" id="LN2875">2875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2876"><td class="num" id="LN2876">2876</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2877"><td class="num" id="LN2877">2877</td><td class="line"> toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2878"><td class="num" id="LN2878">2878</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2879"><td class="num" id="LN2879">2879</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2880"><td class="num" id="LN2880">2880</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2881"><td class="num" id="LN2881">2881</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2882"><td class="num" id="LN2882">2882</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2883"><td class="num" id="LN2883">2883</td><td class="line">panel_toplevel_begin_resize (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2884"><td class="num" id="LN2884">2884</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2885"><td class="num" id="LN2885">2885</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2886"><td class="num" id="LN2886">2886</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2887"><td class="num" id="LN2887">2887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2888"><td class="num" id="LN2888">2888</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2889"><td class="num" id="LN2889">2889</td><td class="line"> toplevel, PANEL_GRAB_OP_RESIZE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2890"><td class="num" id="LN2890">2890</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2891"><td class="num" id="LN2891">2891</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2892"><td class="num" id="LN2892">2892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2893"><td class="num" id="LN2893">2893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2894"><td class="num" id="LN2894">2894</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2895"><td class="num" id="LN2895">2895</td><td class="line">panel_toplevel_move_resize_window (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2896"><td class="num" id="LN2896">2896</td><td class="line"> gboolean move,</td></tr>
+<tr class="codeline" data-linenumber="2897"><td class="num" id="LN2897">2897</td><td class="line"> gboolean resize)</td></tr>
+<tr class="codeline" data-linenumber="2898"><td class="num" id="LN2898">2898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2899"><td class="num" id="LN2899">2899</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2900"><td class="num" id="LN2900">2900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2901"><td class="num" id="LN2901">2901</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="2902"><td class="num" id="LN2902">2902</td><td class="line"> gboolean stick;</td></tr>
+<tr class="codeline" data-linenumber="2903"><td class="num" id="LN2903">2903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2904"><td class="num" id="LN2904">2904</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2905"><td class="num" id="LN2905">2905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2906"><td class="num" id="LN2906">2906</td><td class="line"> <span class='macro'>g_assert (gtk_widget_get_realized (widget))<span class='macro_popup'>do { if (gtk_widget_get_realized (widget)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 2906, ((const char*) (__func__<br>)), "gtk_widget_get_realized (widget)"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2907"><td class="num" id="LN2907">2907</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2908"><td class="num" id="LN2908">2908</td><td class="line"> <span class='keyword'>if</span> (move &amp;&amp; resize)</td></tr>
+<tr class="codeline" data-linenumber="2909"><td class="num" id="LN2909">2909</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2910"><td class="num" id="LN2910">2910</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2911"><td class="num" id="LN2911">2911</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2912"><td class="num" id="LN2912">2912</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2913"><td class="num" id="LN2913">2913</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2914"><td class="num" id="LN2914">2914</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (move)</td></tr>
+<tr class="codeline" data-linenumber="2915"><td class="num" id="LN2915">2915</td><td class="line"> gdk_window_move (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2916"><td class="num" id="LN2916">2916</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2917"><td class="num" id="LN2917">2917</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y);</td></tr>
+<tr class="codeline" data-linenumber="2918"><td class="num" id="LN2918">2918</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (resize)</td></tr>
+<tr class="codeline" data-linenumber="2919"><td class="num" id="LN2919">2919</td><td class="line"> gdk_window_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2920"><td class="num" id="LN2920">2920</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2921"><td class="num" id="LN2921">2921</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2922"><td class="num" id="LN2922">2922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2923"><td class="num" id="LN2923">2923</td><td class="line"> <span class='keyword'>if</span> (resize || move) {</td></tr>
+<tr class="codeline" data-linenumber="2924"><td class="num" id="LN2924">2924</td><td class="line"> <span class='keyword'>for</span> (list = toplevel-&gt;priv-&gt;panel_widget-&gt;applet_list; list != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; list = <span class='macro'>g_list_next (list)<span class='macro_popup'>((list) ? (((GList *)(list))-&gt;next) : ((void*)0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2925"><td class="num" id="LN2925">2925</td><td class="line"> AppletData *ad = list-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="2926"><td class="num" id="LN2926">2926</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = mate_panel_applet_get_id_by_widget (ad-&gt;applet);</td></tr>
+<tr class="codeline" data-linenumber="2927"><td class="num" id="LN2927">2927</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2928"><td class="num" id="LN2928">2928</td><td class="line"> <span class='keyword'>if</span> (!id)</td></tr>
+<tr class="codeline" data-linenumber="2929"><td class="num" id="LN2929">2929</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2930"><td class="num" id="LN2930">2930</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2931"><td class="num" id="LN2931">2931</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="2932"><td class="num" id="LN2932">2932</td><td class="line"> info = mate_panel_applet_get_by_id (id);</td></tr>
+<tr class="codeline" data-linenumber="2933"><td class="num" id="LN2933">2933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2934"><td class="num" id="LN2934">2934</td><td class="line"> stick = g_settings_get_boolean (info-&gt;settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2935"><td class="num" id="LN2935">2935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2936"><td class="num" id="LN2936">2936</td><td class="line"> <span class='keyword'>if</span> (stick) {</td></tr>
+<tr class="codeline" data-linenumber="2937"><td class="num" id="LN2937">2937</td><td class="line"> <span class='keyword'>int</span> position = g_settings_get_int (info-&gt;settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2938"><td class="num" id="LN2938">2938</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2939"><td class="num" id="LN2939">2939</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.width - position;</td></tr>
+<tr class="codeline" data-linenumber="2940"><td class="num" id="LN2940">2940</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2941"><td class="num" id="LN2941">2941</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.height - position;</td></tr>
+<tr class="codeline" data-linenumber="2942"><td class="num" id="LN2942">2942</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2943"><td class="num" id="LN2943">2943</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2944"><td class="num" id="LN2944">2944</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2945"><td class="num" id="LN2945">2945</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2946"><td class="num" id="LN2946">2946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2947"><td class="num" id="LN2947">2947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2948"><td class="num" id="LN2948">2948</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2949"><td class="num" id="LN2949">2949</td><td class="line">panel_toplevel_initially_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2950"><td class="num" id="LN2950">2950</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2951"><td class="num" id="LN2951">2951</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="2952"><td class="num" id="LN2952">2952</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2953"><td class="num" id="LN2953">2953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2954"><td class="num" id="LN2954">2954</td><td class="line"> <span class='comment'>/* We start the panel off hidden until all the applets are</span></td></tr>
+<tr class="codeline" data-linenumber="2955"><td class="num" id="LN2955">2955</td><td class="line"> <span class='comment'>* loaded, and then finally slide it down when it's ready to be</span></td></tr>
+<tr class="codeline" data-linenumber="2956"><td class="num" id="LN2956">2956</td><td class="line"> <span class='comment'>* used */</span></td></tr>
+<tr class="codeline" data-linenumber="2957"><td class="num" id="LN2957">2957</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="2958"><td class="num" id="LN2958">2958</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2959"><td class="num" id="LN2959">2959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2960"><td class="num" id="LN2960">2960</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2961"><td class="num" id="LN2961">2961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2962"><td class="num" id="LN2962">2962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2963"><td class="num" id="LN2963">2963</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2964"><td class="num" id="LN2964">2964</td><td class="line">set_background_default_style (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2965"><td class="num" id="LN2965">2965</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2966"><td class="num" id="LN2966">2966</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2967"><td class="num" id="LN2967">2967</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2968"><td class="num" id="LN2968">2968</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2969"><td class="num" id="LN2969">2969</td><td class="line"> GdkRGBA *bg_color;</td></tr>
+<tr class="codeline" data-linenumber="2970"><td class="num" id="LN2970">2970</td><td class="line"> cairo_pattern_t *bg_image;</td></tr>
+<tr class="codeline" data-linenumber="2971"><td class="num" id="LN2971">2971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2972"><td class="num" id="LN2972">2972</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="2973"><td class="num" id="LN2973">2973</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2974"><td class="num" id="LN2974">2974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2975"><td class="num" id="LN2975">2975</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2976"><td class="num" id="LN2976">2976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2977"><td class="num" id="LN2977">2977</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2978"><td class="num" id="LN2978">2978</td><td class="line"> state = gtk_style_context_get_state (context);</td></tr>
+<tr class="codeline" data-linenumber="2979"><td class="num" id="LN2979">2979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2980"><td class="num" id="LN2980">2980</td><td class="line"> gtk_style_context_get (context, state,</td></tr>
+<tr class="codeline" data-linenumber="2981"><td class="num" id="LN2981">2981</td><td class="line"> <span class='string_literal'>"background-color"</span>, &amp;bg_color,</td></tr>
+<tr class="codeline" data-linenumber="2982"><td class="num" id="LN2982">2982</td><td class="line"> <span class='string_literal'>"background-image"</span>, &amp;bg_image,</td></tr>
+<tr class="codeline" data-linenumber="2983"><td class="num" id="LN2983">2983</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2984"><td class="num" id="LN2984">2984</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2985"><td class="num" id="LN2985">2985</td><td class="line"> panel_background_set_default_style (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="2986"><td class="num" id="LN2986">2986</td><td class="line"> bg_color, bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2987"><td class="num" id="LN2987">2987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2988"><td class="num" id="LN2988">2988</td><td class="line"> <span class='keyword'>if</span> (bg_color)</td></tr>
+<tr class="codeline" data-linenumber="2989"><td class="num" id="LN2989">2989</td><td class="line"> gdk_rgba_free (bg_color);</td></tr>
+<tr class="codeline" data-linenumber="2990"><td class="num" id="LN2990">2990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2991"><td class="num" id="LN2991">2991</td><td class="line"> <span class='keyword'>if</span> (bg_image)</td></tr>
+<tr class="codeline" data-linenumber="2992"><td class="num" id="LN2992">2992</td><td class="line"> cairo_pattern_destroy (bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2993"><td class="num" id="LN2993">2993</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2994"><td class="num" id="LN2994">2994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2995"><td class="num" id="LN2995">2995</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2996"><td class="num" id="LN2996">2996</td><td class="line">panel_toplevel_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2997"><td class="num" id="LN2997">2997</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2998"><td class="num" id="LN2998">2998</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2999"><td class="num" id="LN2999">2999</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="3000"><td class="num" id="LN3000">3000</td><td class="line"> GdkVisual *visual;</td></tr>
+<tr class="codeline" data-linenumber="3001"><td class="num" id="LN3001">3001</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3002"><td class="num" id="LN3002">3002</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3003"><td class="num" id="LN3003">3003</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3004"><td class="num" id="LN3004">3004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3005"><td class="num" id="LN3005">3005</td><td class="line"> screen = gtk_widget_get_screen (widget);</td></tr>
+<tr class="codeline" data-linenumber="3006"><td class="num" id="LN3006">3006</td><td class="line"> visual = gdk_screen_get_rgba_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3007"><td class="num" id="LN3007">3007</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3008"><td class="num" id="LN3008">3008</td><td class="line"> <span class='keyword'>if</span> (visual == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3009"><td class="num" id="LN3009">3009</td><td class="line"> visual = gdk_screen_get_system_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3010"><td class="num" id="LN3010">3010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3011"><td class="num" id="LN3011">3011</td><td class="line"> gtk_widget_set_visual (widget, visual);</td></tr>
+<tr class="codeline" data-linenumber="3012"><td class="num" id="LN3012">3012</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3013"><td class="num" id="LN3013">3013</td><td class="line"> gtk_window_set_decorated (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3014"><td class="num" id="LN3014">3014</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3015"><td class="num" id="LN3015">3015</td><td class="line"> gtk_window_set_type_hint (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, GDK_WINDOW_TYPE_HINT_DOCK);</td></tr>
+<tr class="codeline" data-linenumber="3016"><td class="num" id="LN3016">3016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3017"><td class="num" id="LN3017">3017</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3018"><td class="num" id="LN3018">3018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3019"><td class="num" id="LN3019">3019</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3020"><td class="num" id="LN3020">3020</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3021"><td class="num" id="LN3021">3021</td><td class="line"> panel_background_realized (&amp;toplevel-&gt;background, window);</td></tr>
+<tr class="codeline" data-linenumber="3022"><td class="num" id="LN3022">3022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3023"><td class="num" id="LN3023">3023</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3024"><td class="num" id="LN3024">3024</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_WINDOW (window)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(window)); GType __t = ((gdk_x11_window_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3025"><td class="num" id="LN3025">3025</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3026"><td class="num" id="LN3026">3026</td><td class="line"> gdk_window_set_geometry_hints (window, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="3027"><td class="num" id="LN3027">3027</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3028"><td class="num" id="LN3028">3028</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3029"><td class="num" id="LN3029">3029</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3030"><td class="num" id="LN3030">3030</td><td class="line"> gdk_window_set_group (window, window);</td></tr>
+<tr class="codeline" data-linenumber="3031"><td class="num" id="LN3031">3031</td><td class="line"> panel_toplevel_initially_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3032"><td class="num" id="LN3032">3032</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3033"><td class="num" id="LN3033">3033</td><td class="line"> panel_toplevel_move_resize_window (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3034"><td class="num" id="LN3034">3034</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3035"><td class="num" id="LN3035">3035</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3036"><td class="num" id="LN3036">3036</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3037"><td class="num" id="LN3037">3037</td><td class="line">panel_toplevel_disconnect_timeouts (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3038"><td class="num" id="LN3038">3038</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3039"><td class="num" id="LN3039">3039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3040"><td class="num" id="LN3040">3040</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3041"><td class="num" id="LN3041">3041</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3042"><td class="num" id="LN3042">3042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3043"><td class="num" id="LN3043">3043</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3044"><td class="num" id="LN3044">3044</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3045"><td class="num" id="LN3045">3045</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3046"><td class="num" id="LN3046">3046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3047"><td class="num" id="LN3047">3047</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3048"><td class="num" id="LN3048">3048</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;animation_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3049"><td class="num" id="LN3049">3049</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3050"><td class="num" id="LN3050">3050</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3051"><td class="num" id="LN3051">3051</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3052"><td class="num" id="LN3052">3052</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3053"><td class="num" id="LN3053">3053</td><td class="line">panel_toplevel_unrealize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3054"><td class="num" id="LN3054">3054</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3055"><td class="num" id="LN3055">3055</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3056"><td class="num" id="LN3056">3056</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3057"><td class="num" id="LN3057">3057</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3058"><td class="num" id="LN3058">3058</td><td class="line"> panel_background_unrealized (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3059"><td class="num" id="LN3059">3059</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;unrealize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3060"><td class="num" id="LN3060">3060</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3061"><td class="num" id="LN3061">3061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3062"><td class="num" id="LN3062">3062</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3063"><td class="num" id="LN3063">3063</td><td class="line">panel_toplevel_dispose (GObject *widget)</td></tr>
+<tr class="codeline" data-linenumber="3064"><td class="num" id="LN3064">3064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3065"><td class="num" id="LN3065">3065</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3066"><td class="num" id="LN3066">3066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3067"><td class="num" id="LN3067">3067</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;settings_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;settings_path<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;settings_path)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;settings_path); __typeof__ (*(&amp;toplevel-&gt;<br>priv-&gt;settings_path)) _ptr = *_pp; *_pp = ((void*)0); if (<br>_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3068"><td class="num" id="LN3068">3068</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3069"><td class="num" id="LN3069">3069</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;settings) {</td></tr>
+<tr class="codeline" data-linenumber="3070"><td class="num" id="LN3070">3070</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;settings)<br>, G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3071"><td class="num" id="LN3071">3071</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;settings)) ==<br> sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;settings))) _pp = ((&amp;toplevel-&gt;settings<br>)); __typeof__ (*((&amp;toplevel-&gt;settings))) _ptr = *_pp;<br> *_pp = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3072"><td class="num" id="LN3072">3072</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3073"><td class="num" id="LN3073">3073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3074"><td class="num" id="LN3074">3074</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;queued_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;queued_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;queued_settings))) _pp = ((&amp;toplevel<br>-&gt;queued_settings)); __typeof__ (*((&amp;toplevel-&gt;queued_settings<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3075"><td class="num" id="LN3075">3075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3076"><td class="num" id="LN3076">3076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;background_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3077"><td class="num" id="LN3077">3077</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;background_settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;background_settings<br>), G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3078"><td class="num" id="LN3078">3078</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;background_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;background_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;background_settings))) _pp = ((&amp;toplevel<br>-&gt;background_settings)); __typeof__ (*((&amp;toplevel-&gt;<br>background_settings))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr<br>) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3079"><td class="num" id="LN3079">3079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3080"><td class="num" id="LN3080">3080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3081"><td class="num" id="LN3081">3081</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3082"><td class="num" id="LN3082">3082</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3083"><td class="num" id="LN3083">3083</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3084"><td class="num" id="LN3084">3084</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3085"><td class="num" id="LN3085">3085</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3086"><td class="num" id="LN3086">3086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3087"><td class="num" id="LN3087">3087</td><td class="line"> panel_background_free (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3088"><td class="num" id="LN3088">3088</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3089"><td class="num" id="LN3089">3089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3090"><td class="num" id="LN3090">3090</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3091"><td class="num" id="LN3091">3091</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3092"><td class="num" id="LN3092">3092</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3093"><td class="num" id="LN3093">3093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3094"><td class="num" id="LN3094">3094</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3095"><td class="num" id="LN3095">3095</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3096"><td class="num" id="LN3096">3096</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3097"><td class="num" id="LN3097">3097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3098"><td class="num" id="LN3098">3098</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;description, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;description<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;description)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;description); __typeof__ (*(&amp;toplevel-&gt;priv<br>-&gt;description)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (<br>g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3099"><td class="num" id="LN3099">3099</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;name, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;name<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;name)) _pp = (&amp;toplevel-&gt;<br>priv-&gt;name); __typeof__ (*(&amp;toplevel-&gt;priv-&gt;name<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3100"><td class="num" id="LN3100">3100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3101"><td class="num" id="LN3101">3101</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3102"><td class="num" id="LN3102">3102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3103"><td class="num" id="LN3103">3103</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;dispose (widget);</td></tr>
+<tr class="codeline" data-linenumber="3104"><td class="num" id="LN3104">3104</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3105"><td class="num" id="LN3105">3105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3106"><td class="num" id="LN3106">3106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3107"><td class="num" id="LN3107">3107</td><td class="line">panel_toplevel_check_resize (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="3108"><td class="num" id="LN3108">3108</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3109"><td class="num" id="LN3109">3109</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3110"><td class="num" id="LN3110">3110</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3111"><td class="num" id="LN3111">3111</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3112"><td class="num" id="LN3112">3112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3113"><td class="num" id="LN3113">3113</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (container)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3114"><td class="num" id="LN3114">3114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3115"><td class="num" id="LN3115">3115</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (widget))</td></tr>
+<tr class="codeline" data-linenumber="3116"><td class="num" id="LN3116">3116</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3117"><td class="num" id="LN3117">3117</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3118"><td class="num" id="LN3118">3118</td><td class="line"> requisition.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3119"><td class="num" id="LN3119">3119</td><td class="line"> requisition.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3120"><td class="num" id="LN3120">3120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3121"><td class="num" id="LN3121">3121</td><td class="line"> gtk_widget_get_preferred_size (widget, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3122"><td class="num" id="LN3122">3122</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3123"><td class="num" id="LN3123">3123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3124"><td class="num" id="LN3124">3124</td><td class="line"> allocation.width = requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3125"><td class="num" id="LN3125">3125</td><td class="line"> allocation.height = requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3126"><td class="num" id="LN3126">3126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3127"><td class="num" id="LN3127">3127</td><td class="line"> gtk_widget_size_allocate (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3128"><td class="num" id="LN3128">3128</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3129"><td class="num" id="LN3129">3129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3130"><td class="num" id="LN3130">3130</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3131"><td class="num" id="LN3131">3131</td><td class="line">panel_toplevel_size_request (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3132"><td class="num" id="LN3132">3132</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="3133"><td class="num" id="LN3133">3133</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3134"><td class="num" id="LN3134">3134</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3135"><td class="num" id="LN3135">3135</td><td class="line"> GtkBin *bin;</td></tr>
+<tr class="codeline" data-linenumber="3136"><td class="num" id="LN3136">3136</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3137"><td class="num" id="LN3137">3137</td><td class="line"> GdkRectangle old_geometry;</td></tr>
+<tr class="codeline" data-linenumber="3138"><td class="num" id="LN3138">3138</td><td class="line"> <span class='keyword'>int</span> position_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3139"><td class="num" id="LN3139">3139</td><td class="line"> <span class='keyword'>int</span> size_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3140"><td class="num" id="LN3140">3140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3141"><td class="num" id="LN3141">3141</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3142"><td class="num" id="LN3142">3142</td><td class="line"> bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3143"><td class="num" id="LN3143">3143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3144"><td class="num" id="LN3144">3144</td><td class="line"> <span class='comment'>/* we get a size request when there are new monitors, so first try to</span></td></tr>
+<tr class="codeline" data-linenumber="3145"><td class="num" id="LN3145">3145</td><td class="line"> <span class='comment'>* see if we need to move to a new monitor */</span></td></tr>
+<tr class="codeline" data-linenumber="3146"><td class="num" id="LN3146">3146</td><td class="line"> panel_toplevel_update_monitor (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3147"><td class="num" id="LN3147">3147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3148"><td class="num" id="LN3148">3148</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3149"><td class="num" id="LN3149">3149</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3150"><td class="num" id="LN3150">3150</td><td class="line"> gtk_widget_get_preferred_size (child, requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3151"><td class="num" id="LN3151">3151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3152"><td class="num" id="LN3152">3152</td><td class="line"> old_geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="3153"><td class="num" id="LN3153">3153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3154"><td class="num" id="LN3154">3154</td><td class="line"> panel_toplevel_update_geometry (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="3155"><td class="num" id="LN3155">3155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3156"><td class="num" id="LN3156">3156</td><td class="line"> requisition-&gt;width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="3157"><td class="num" id="LN3157">3157</td><td class="line"> requisition-&gt;height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="3158"><td class="num" id="LN3158">3158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3159"><td class="num" id="LN3159">3159</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3160"><td class="num" id="LN3160">3160</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3161"><td class="num" id="LN3161">3161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3162"><td class="num" id="LN3162">3162</td><td class="line"> <span class='keyword'>if</span> (old_geometry.width != toplevel-&gt;priv-&gt;geometry.width ||</td></tr>
+<tr class="codeline" data-linenumber="3163"><td class="num" id="LN3163">3163</td><td class="line"> old_geometry.height != toplevel-&gt;priv-&gt;geometry.height)</td></tr>
+<tr class="codeline" data-linenumber="3164"><td class="num" id="LN3164">3164</td><td class="line"> size_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3165"><td class="num" id="LN3165">3165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3166"><td class="num" id="LN3166">3166</td><td class="line"> <span class='keyword'>if</span> (old_geometry.x != toplevel-&gt;priv-&gt;geometry.x ||</td></tr>
+<tr class="codeline" data-linenumber="3167"><td class="num" id="LN3167">3167</td><td class="line"> old_geometry.y != toplevel-&gt;priv-&gt;geometry.y)</td></tr>
+<tr class="codeline" data-linenumber="3168"><td class="num" id="LN3168">3168</td><td class="line"> position_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3169"><td class="num" id="LN3169">3169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3170"><td class="num" id="LN3170">3170</td><td class="line"> panel_toplevel_move_resize_window (toplevel, position_changed, size_changed);</td></tr>
+<tr class="codeline" data-linenumber="3171"><td class="num" id="LN3171">3171</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3172"><td class="num" id="LN3172">3172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3173"><td class="num" id="LN3173">3173</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3174"><td class="num" id="LN3174">3174</td><td class="line">panel_toplevel_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3175"><td class="num" id="LN3175">3175</td><td class="line"> gint *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="3176"><td class="num" id="LN3176">3176</td><td class="line"> gint *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="3177"><td class="num" id="LN3177">3177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3178"><td class="num" id="LN3178">3178</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3179"><td class="num" id="LN3179">3179</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3180"><td class="num" id="LN3180">3180</td><td class="line"> *minimum_width = *natural_width = req.width;</td></tr>
+<tr class="codeline" data-linenumber="3181"><td class="num" id="LN3181">3181</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3182"><td class="num" id="LN3182">3182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3183"><td class="num" id="LN3183">3183</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3184"><td class="num" id="LN3184">3184</td><td class="line">panel_toplevel_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3185"><td class="num" id="LN3185">3185</td><td class="line"> gint *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="3186"><td class="num" id="LN3186">3186</td><td class="line"> gint *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="3187"><td class="num" id="LN3187">3187</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3188"><td class="num" id="LN3188">3188</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3189"><td class="num" id="LN3189">3189</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3190"><td class="num" id="LN3190">3190</td><td class="line"> *minimum_height = *natural_height = req.height;</td></tr>
+<tr class="codeline" data-linenumber="3191"><td class="num" id="LN3191">3191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3192"><td class="num" id="LN3192">3192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3193"><td class="num" id="LN3193">3193</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3194"><td class="num" id="LN3194">3194</td><td class="line">set_background_region (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3195"><td class="num" id="LN3195">3195</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3196"><td class="num" id="LN3196">3196</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3197"><td class="num" id="LN3197">3197</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3198"><td class="num" id="LN3198">3198</td><td class="line"> gint origin_x;</td></tr>
+<tr class="codeline" data-linenumber="3199"><td class="num" id="LN3199">3199</td><td class="line"> gint origin_y;</td></tr>
+<tr class="codeline" data-linenumber="3200"><td class="num" id="LN3200">3200</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3201"><td class="num" id="LN3201">3201</td><td class="line"> GtkOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="3202"><td class="num" id="LN3202">3202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3203"><td class="num" id="LN3203">3203</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3204"><td class="num" id="LN3204">3204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3205"><td class="num" id="LN3205">3205</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3206"><td class="num" id="LN3206">3206</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3207"><td class="num" id="LN3207">3207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3208"><td class="num" id="LN3208">3208</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3209"><td class="num" id="LN3209">3209</td><td class="line"> origin_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3210"><td class="num" id="LN3210">3210</td><td class="line"> origin_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3211"><td class="num" id="LN3211">3211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3212"><td class="num" id="LN3212">3212</td><td class="line"> gdk_window_get_origin (window, &amp;origin_x, &amp;origin_y);</td></tr>
+<tr class="codeline" data-linenumber="3213"><td class="num" id="LN3213">3213</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3214"><td class="num" id="LN3214">3214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3215"><td class="num" id="LN3215">3215</td><td class="line"> orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="3216"><td class="num" id="LN3216">3216</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3217"><td class="num" id="LN3217">3217</td><td class="line"> orientation = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="3218"><td class="num" id="LN3218">3218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3219"><td class="num" id="LN3219">3219</td><td class="line"> panel_background_change_region (&amp;toplevel-&gt;background, orientation,</td></tr>
+<tr class="codeline" data-linenumber="3220"><td class="num" id="LN3220">3220</td><td class="line"> origin_x, origin_y,</td></tr>
+<tr class="codeline" data-linenumber="3221"><td class="num" id="LN3221">3221</td><td class="line"> allocation.width, allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="3222"><td class="num" id="LN3222">3222</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3223"><td class="num" id="LN3223">3223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3224"><td class="num" id="LN3224">3224</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3225"><td class="num" id="LN3225">3225</td><td class="line">panel_toplevel_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3226"><td class="num" id="LN3226">3226</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="3227"><td class="num" id="LN3227">3227</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3228"><td class="num" id="LN3228">3228</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3229"><td class="num" id="LN3229">3229</td><td class="line"> GtkBin *bin = (GtkBin *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3230"><td class="num" id="LN3230">3230</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3231"><td class="num" id="LN3231">3231</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3232"><td class="num" id="LN3232">3232</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3233"><td class="num" id="LN3233">3233</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3234"><td class="num" id="LN3234">3234</td><td class="line"> GtkAllocation challoc;</td></tr>
+<tr class="codeline" data-linenumber="3235"><td class="num" id="LN3235">3235</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="3236"><td class="num" id="LN3236">3236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3237"><td class="num" id="LN3237">3237</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="3238"><td class="num" id="LN3238">3238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3239"><td class="num" id="LN3239">3239</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3240"><td class="num" id="LN3240">3240</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3241"><td class="num" id="LN3241">3241</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3242"><td class="num" id="LN3242">3242</td><td class="line"> challoc = *allocation;</td></tr>
+<tr class="codeline" data-linenumber="3243"><td class="num" id="LN3243">3243</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3244"><td class="num" id="LN3244">3244</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3245"><td class="num" id="LN3245">3245</td><td class="line"> challoc.x = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3246"><td class="num" id="LN3246">3246</td><td class="line"> challoc.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3247"><td class="num" id="LN3247">3247</td><td class="line"> challoc.width = allocation-&gt;width - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3248"><td class="num" id="LN3248">3248</td><td class="line"> challoc.height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="3249"><td class="num" id="LN3249">3249</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3250"><td class="num" id="LN3250">3250</td><td class="line"> challoc.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3251"><td class="num" id="LN3251">3251</td><td class="line"> challoc.y = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3252"><td class="num" id="LN3252">3252</td><td class="line"> challoc.width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="3253"><td class="num" id="LN3253">3253</td><td class="line"> challoc.height = allocation-&gt;height - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3254"><td class="num" id="LN3254">3254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3255"><td class="num" id="LN3255">3255</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3256"><td class="num" id="LN3256">3256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3257"><td class="num" id="LN3257">3257</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3258"><td class="num" id="LN3258">3258</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3259"><td class="num" id="LN3259">3259</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3260"><td class="num" id="LN3260">3260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3261"><td class="num" id="LN3261">3261</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3262"><td class="num" id="LN3262">3262</td><td class="line"> challoc.y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3263"><td class="num" id="LN3263">3263</td><td class="line"> challoc.height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3264"><td class="num" id="LN3264">3264</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3265"><td class="num" id="LN3265">3265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3266"><td class="num" id="LN3266">3266</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3267"><td class="num" id="LN3267">3267</td><td class="line"> challoc.x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3268"><td class="num" id="LN3268">3268</td><td class="line"> challoc.width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3269"><td class="num" id="LN3269">3269</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3270"><td class="num" id="LN3270">3270</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3271"><td class="num" id="LN3271">3271</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3272"><td class="num" id="LN3272">3272</td><td class="line"> challoc.height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3273"><td class="num" id="LN3273">3273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3274"><td class="num" id="LN3274">3274</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3275"><td class="num" id="LN3275">3275</td><td class="line"> challoc.width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3276"><td class="num" id="LN3276">3276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3277"><td class="num" id="LN3277">3277</td><td class="line"> challoc.width = <span class='macro'>MAX (1, challoc.width)<span class='macro_popup'>(((1) &gt; (challoc.width)) ? (1) : (challoc.width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3278"><td class="num" id="LN3278">3278</td><td class="line"> challoc.height = <span class='macro'>MAX (1, challoc.height)<span class='macro_popup'>(((1) &gt; (challoc.height)) ? (1) : (challoc.height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3279"><td class="num" id="LN3279">3279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3280"><td class="num" id="LN3280">3280</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3281"><td class="num" id="LN3281">3281</td><td class="line"> gtk_widget_get_allocation (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="3282"><td class="num" id="LN3282">3282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3283"><td class="num" id="LN3283">3283</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_mapped (widget) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3284"><td class="num" id="LN3284">3284</td><td class="line"> (challoc.x != child_allocation.x ||</td></tr>
+<tr class="codeline" data-linenumber="3285"><td class="num" id="LN3285">3285</td><td class="line"> challoc.y != child_allocation.y ||</td></tr>
+<tr class="codeline" data-linenumber="3286"><td class="num" id="LN3286">3286</td><td class="line"> challoc.width != child_allocation.width ||</td></tr>
+<tr class="codeline" data-linenumber="3287"><td class="num" id="LN3287">3287</td><td class="line"> challoc.height != child_allocation.height)) {</td></tr>
+<tr class="codeline" data-linenumber="3288"><td class="num" id="LN3288">3288</td><td class="line"> GtkAllocation allocation_to_invalidate;</td></tr>
+<tr class="codeline" data-linenumber="3289"><td class="num" id="LN3289">3289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3290"><td class="num" id="LN3290">3290</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation_to_invalidate);</td></tr>
+<tr class="codeline" data-linenumber="3291"><td class="num" id="LN3291">3291</td><td class="line"> gdk_window_invalidate_rect (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="3292"><td class="num" id="LN3292">3292</td><td class="line"> &amp;allocation_to_invalidate, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3293"><td class="num" id="LN3293">3293</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3294"><td class="num" id="LN3294">3294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3295"><td class="num" id="LN3295">3295</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3296"><td class="num" id="LN3296">3296</td><td class="line"> gtk_widget_size_allocate (child, &amp;challoc);</td></tr>
+<tr class="codeline" data-linenumber="3297"><td class="num" id="LN3297">3297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3298"><td class="num" id="LN3298">3298</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3299"><td class="num" id="LN3299">3299</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3300"><td class="num" id="LN3300">3300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3301"><td class="num" id="LN3301">3301</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="3302"><td class="num" id="LN3302">3302</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3303"><td class="num" id="LN3303">3303</td><td class="line"> PanelToplevel* toplevel = (PanelToplevel*) widget;</td></tr>
+<tr class="codeline" data-linenumber="3304"><td class="num" id="LN3304">3304</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="3305"><td class="num" id="LN3305">3305</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3306"><td class="num" id="LN3306">3306</td><td class="line"> <span class='keyword'>int</span> awidth;</td></tr>
+<tr class="codeline" data-linenumber="3307"><td class="num" id="LN3307">3307</td><td class="line"> <span class='keyword'>int</span> aheight;</td></tr>
+<tr class="codeline" data-linenumber="3308"><td class="num" id="LN3308">3308</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3309"><td class="num" id="LN3309">3309</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3310"><td class="num" id="LN3310">3310</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3311"><td class="num" id="LN3311">3311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3312"><td class="num" id="LN3312">3312</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_drawable (widget))</td></tr>
+<tr class="codeline" data-linenumber="3313"><td class="num" id="LN3313">3313</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3314"><td class="num" id="LN3314">3314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3315"><td class="num" id="LN3315">3315</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw)</td></tr>
+<tr class="codeline" data-linenumber="3316"><td class="num" id="LN3316">3316</td><td class="line"> retval = <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw (widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="3317"><td class="num" id="LN3317">3317</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3318"><td class="num" id="LN3318">3318</td><td class="line"> edges = toplevel-&gt;priv-&gt;edges;</td></tr>
+<tr class="codeline" data-linenumber="3319"><td class="num" id="LN3319">3319</td><td class="line"> panel_frame_draw (widget, cr, edges);</td></tr>
+<tr class="codeline" data-linenumber="3320"><td class="num" id="LN3320">3320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3321"><td class="num" id="LN3321">3321</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3322"><td class="num" id="LN3322">3322</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3323"><td class="num" id="LN3323">3323</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3324"><td class="num" id="LN3324">3324</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3325"><td class="num" id="LN3325">3325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3326"><td class="num" id="LN3326">3326</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3327"><td class="num" id="LN3327">3327</td><td class="line"> awidth = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="3328"><td class="num" id="LN3328">3328</td><td class="line"> aheight = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="3329"><td class="num" id="LN3329">3329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3330"><td class="num" id="LN3330">3330</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3331"><td class="num" id="LN3331">3331</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3332"><td class="num" id="LN3332">3332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3333"><td class="num" id="LN3333">3333</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="3334"><td class="num" id="LN3334">3334</td><td class="line"> gtk_style_context_set_state (context, state);</td></tr>
+<tr class="codeline" data-linenumber="3335"><td class="num" id="LN3335">3335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3336"><td class="num" id="LN3336">3336</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3337"><td class="num" id="LN3337">3337</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3338"><td class="num" id="LN3338">3338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3339"><td class="num" id="LN3339">3339</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3340"><td class="num" id="LN3340">3340</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3341"><td class="num" id="LN3341">3341</td><td class="line"> height = aheight;</td></tr>
+<tr class="codeline" data-linenumber="3342"><td class="num" id="LN3342">3342</td><td class="line"> width = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3343"><td class="num" id="LN3343">3343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3344"><td class="num" id="LN3344">3344</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3345"><td class="num" id="LN3345">3345</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3346"><td class="num" id="LN3346">3346</td><td class="line"> height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3347"><td class="num" id="LN3347">3347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3348"><td class="num" id="LN3348">3348</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3349"><td class="num" id="LN3349">3349</td><td class="line"> height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3350"><td class="num" id="LN3350">3350</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="3351"><td class="num" id="LN3351">3351</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3352"><td class="num" id="LN3352">3352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3353"><td class="num" id="LN3353">3353</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3354"><td class="num" id="LN3354">3354</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3355"><td class="num" id="LN3355">3355</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3356"><td class="num" id="LN3356">3356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3357"><td class="num" id="LN3357">3357</td><td class="line"> x = awidth - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3358"><td class="num" id="LN3358">3358</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3359"><td class="num" id="LN3359">3359</td><td class="line"> x -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3360"><td class="num" id="LN3360">3360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3361"><td class="num" id="LN3361">3361</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3362"><td class="num" id="LN3362">3362</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3363"><td class="num" id="LN3363">3363</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3364"><td class="num" id="LN3364">3364</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3365"><td class="num" id="LN3365">3365</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3366"><td class="num" id="LN3366">3366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3367"><td class="num" id="LN3367">3367</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3368"><td class="num" id="LN3368">3368</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3369"><td class="num" id="LN3369">3369</td><td class="line"> width = awidth;</td></tr>
+<tr class="codeline" data-linenumber="3370"><td class="num" id="LN3370">3370</td><td class="line"> height = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3371"><td class="num" id="LN3371">3371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3372"><td class="num" id="LN3372">3372</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3373"><td class="num" id="LN3373">3373</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3374"><td class="num" id="LN3374">3374</td><td class="line"> width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3375"><td class="num" id="LN3375">3375</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3376"><td class="num" id="LN3376">3376</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3377"><td class="num" id="LN3377">3377</td><td class="line"> width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3378"><td class="num" id="LN3378">3378</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="3379"><td class="num" id="LN3379">3379</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3380"><td class="num" id="LN3380">3380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3381"><td class="num" id="LN3381">3381</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3382"><td class="num" id="LN3382">3382</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3383"><td class="num" id="LN3383">3383</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3384"><td class="num" id="LN3384">3384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3385"><td class="num" id="LN3385">3385</td><td class="line"> y = aheight - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3386"><td class="num" id="LN3386">3386</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3387"><td class="num" id="LN3387">3387</td><td class="line"> y -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3388"><td class="num" id="LN3388">3388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3389"><td class="num" id="LN3389">3389</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3390"><td class="num" id="LN3390">3390</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3391"><td class="num" id="LN3391">3391</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3392"><td class="num" id="LN3392">3392</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3393"><td class="num" id="LN3393">3393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3394"><td class="num" id="LN3394">3394</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="3395"><td class="num" id="LN3395">3395</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3396"><td class="num" id="LN3396">3396</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3397"><td class="num" id="LN3397">3397</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3398"><td class="num" id="LN3398">3398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3399"><td class="num" id="LN3399">3399</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3400"><td class="num" id="LN3400">3400</td><td class="line">panel_toplevel_button_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3401"><td class="num" id="LN3401">3401</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3402"><td class="num" id="LN3402">3402</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3403"><td class="num" id="LN3403">3403</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3404"><td class="num" id="LN3404">3404</td><td class="line"> GtkWidget *event_widget;</td></tr>
+<tr class="codeline" data-linenumber="3405"><td class="num" id="LN3405">3405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3406"><td class="num" id="LN3406">3406</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3407"><td class="num" id="LN3407">3407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3408"><td class="num" id="LN3408">3408</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3409"><td class="num" id="LN3409">3409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3410"><td class="num" id="LN3410">3410</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3411"><td class="num" id="LN3411">3411</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3412"><td class="num" id="LN3412">3412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3413"><td class="num" id="LN3413">3413</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3414"><td class="num" id="LN3414">3414</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3415"><td class="num" id="LN3415">3415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3416"><td class="num" id="LN3416">3416</td><td class="line"> <span class='comment'>/* Get the mouse-button modifier from marco so that only intentional</span></td></tr>
+<tr class="codeline" data-linenumber="3417"><td class="num" id="LN3417">3417</td><td class="line"> <span class='comment'>* moves are considered. We don't this for non-expanded panels since we</span></td></tr>
+<tr class="codeline" data-linenumber="3418"><td class="num" id="LN3418">3418</td><td class="line"> <span class='comment'>* only have the handles that the user can grab. */</span></td></tr>
+<tr class="codeline" data-linenumber="3419"><td class="num" id="LN3419">3419</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;expand || toplevel-&gt;priv-&gt;attached) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3420"><td class="num" id="LN3420">3420</td><td class="line"> (event-&gt;state &amp; GDK_MODIFIER_MASK) != panel_bindings_get_mouse_button_modifier_keymask ())</td></tr>
+<tr class="codeline" data-linenumber="3421"><td class="num" id="LN3421">3421</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3422"><td class="num" id="LN3422">3422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3423"><td class="num" id="LN3423">3423</td><td class="line"> gdk_window_get_user_data (event-&gt;window, (gpointer)&amp;event_widget);</td></tr>
+<tr class="codeline" data-linenumber="3424"><td class="num" id="LN3424">3424</td><td class="line"> <span class='macro'>g_assert (GTK_IS_WIDGET (event_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((event_widget)); GType __t = ((gtk_widget_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 3424<br>, ((const char*) (__func__)), "GTK_IS_WIDGET (event_widget)")<br>; } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3425"><td class="num" id="LN3425">3425</td><td class="line"> gtk_widget_translate_coordinates (event_widget,</td></tr>
+<tr class="codeline" data-linenumber="3426"><td class="num" id="LN3426">3426</td><td class="line"> widget,</td></tr>
+<tr class="codeline" data-linenumber="3427"><td class="num" id="LN3427">3427</td><td class="line"> event-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="3428"><td class="num" id="LN3428">3428</td><td class="line"> event-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="3429"><td class="num" id="LN3429">3429</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="3430"><td class="num" id="LN3430">3430</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_y);</td></tr>
+<tr class="codeline" data-linenumber="3431"><td class="num" id="LN3431">3431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3432"><td class="num" id="LN3432">3432</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3433"><td class="num" id="LN3433">3433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3434"><td class="num" id="LN3434">3434</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3435"><td class="num" id="LN3435">3435</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3436"><td class="num" id="LN3436">3436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3437"><td class="num" id="LN3437">3437</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3438"><td class="num" id="LN3438">3438</td><td class="line">panel_toplevel_button_release_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3439"><td class="num" id="LN3439">3439</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3440"><td class="num" id="LN3440">3440</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3441"><td class="num" id="LN3441">3441</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3442"><td class="num" id="LN3442">3442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3443"><td class="num" id="LN3443">3443</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3444"><td class="num" id="LN3444">3444</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3445"><td class="num" id="LN3445">3445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3446"><td class="num" id="LN3446">3446</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3447"><td class="num" id="LN3447">3447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3448"><td class="num" id="LN3448">3448</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="3449"><td class="num" id="LN3449">3449</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3450"><td class="num" id="LN3450">3450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3451"><td class="num" id="LN3451">3451</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="3452"><td class="num" id="LN3452">3452</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3453"><td class="num" id="LN3453">3453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3454"><td class="num" id="LN3454">3454</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3455"><td class="num" id="LN3455">3455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3456"><td class="num" id="LN3456">3456</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3457"><td class="num" id="LN3457">3457</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3458"><td class="num" id="LN3458">3458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3459"><td class="num" id="LN3459">3459</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3460"><td class="num" id="LN3460">3460</td><td class="line">panel_toplevel_configure_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3461"><td class="num" id="LN3461">3461</td><td class="line"> GdkEventConfigure *event)</td></tr>
+<tr class="codeline" data-linenumber="3462"><td class="num" id="LN3462">3462</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3463"><td class="num" id="LN3463">3463</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3464"><td class="num" id="LN3464">3464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3465"><td class="num" id="LN3465">3465</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3466"><td class="num" id="LN3466">3466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3467"><td class="num" id="LN3467">3467</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3468"><td class="num" id="LN3468">3468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3469"><td class="num" id="LN3469">3469</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3470"><td class="num" id="LN3470">3470</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3471"><td class="num" id="LN3471">3471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3472"><td class="num" id="LN3472">3472</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3473"><td class="num" id="LN3473">3473</td><td class="line">panel_toplevel_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3474"><td class="num" id="LN3474">3474</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="3475"><td class="num" id="LN3475">3475</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3476"><td class="num" id="LN3476">3476</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3477"><td class="num" id="LN3477">3477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3478"><td class="num" id="LN3478">3478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3479"><td class="num" id="LN3479">3479</td><td class="line"> panel_toplevel_handle_grab_op_key_event (toplevel, event))</td></tr>
+<tr class="codeline" data-linenumber="3480"><td class="num" id="LN3480">3480</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3481"><td class="num" id="LN3481">3481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3482"><td class="num" id="LN3482">3482</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event)</td></tr>
+<tr class="codeline" data-linenumber="3483"><td class="num" id="LN3483">3483</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3484"><td class="num" id="LN3484">3484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3485"><td class="num" id="LN3485">3485</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3486"><td class="num" id="LN3486">3486</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3487"><td class="num" id="LN3487">3487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3488"><td class="num" id="LN3488">3488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3489"><td class="num" id="LN3489">3489</td><td class="line">panel_toplevel_state_flags_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3490"><td class="num" id="LN3490">3490</td><td class="line"> GtkStateFlags previous_state)</td></tr>
+<tr class="codeline" data-linenumber="3491"><td class="num" id="LN3491">3491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3492"><td class="num" id="LN3492">3492</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;state_flags_changed (widget,</td></tr>
+<tr class="codeline" data-linenumber="3493"><td class="num" id="LN3493">3493</td><td class="line"> previous_state);</td></tr>
+<tr class="codeline" data-linenumber="3494"><td class="num" id="LN3494">3494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3495"><td class="num" id="LN3495">3495</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3496"><td class="num" id="LN3496">3496</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3497"><td class="num" id="LN3497">3497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3498"><td class="num" id="LN3498">3498</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3499"><td class="num" id="LN3499">3499</td><td class="line">panel_toplevel_motion_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3500"><td class="num" id="LN3500">3500</td><td class="line"> GdkEventMotion *event)</td></tr>
+<tr class="codeline" data-linenumber="3501"><td class="num" id="LN3501">3501</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3502"><td class="num" id="LN3502">3502</td><td class="line"> <span class='keyword'>if</span> (gdk_event_get_screen ((GdkEvent *)event) ==</td></tr>
+<tr class="codeline" data-linenumber="3503"><td class="num" id="LN3503">3503</td><td class="line"> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3504"><td class="num" id="LN3504">3504</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_handle_grab_op_motion_event (</td></tr>
+<tr class="codeline" data-linenumber="3505"><td class="num" id="LN3505">3505</td><td class="line"> <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>, event);</td></tr>
+<tr class="codeline" data-linenumber="3506"><td class="num" id="LN3506">3506</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3507"><td class="num" id="LN3507">3507</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3508"><td class="num" id="LN3508">3508</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3509"><td class="num" id="LN3509">3509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3510"><td class="num" id="LN3510">3510</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3511"><td class="num" id="LN3511">3511</td><td class="line">panel_toplevel_animation_timeout (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3512"><td class="num" id="LN3512">3512</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3513"><td class="num" id="LN3513">3513</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3514"><td class="num" id="LN3514">3514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3515"><td class="num" id="LN3515">3515</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="3516"><td class="num" id="LN3516">3516</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3517"><td class="num" id="LN3517">3517</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3518"><td class="num" id="LN3518">3518</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3519"><td class="num" id="LN3519">3519</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3520"><td class="num" id="LN3520">3520</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3521"><td class="num" id="LN3521">3521</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3522"><td class="num" id="LN3522">3522</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3523"><td class="num" id="LN3523">3523</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3524"><td class="num" id="LN3524">3524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3525"><td class="num" id="LN3525">3525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3526"><td class="num" id="LN3526">3526</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animating;</td></tr>
+<tr class="codeline" data-linenumber="3527"><td class="num" id="LN3527">3527</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3528"><td class="num" id="LN3528">3528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3529"><td class="num" id="LN3529">3529</td><td class="line"><span class='keyword'>static</span> GTimeSpan</td></tr>
+<tr class="codeline" data-linenumber="3530"><td class="num" id="LN3530">3530</td><td class="line">panel_toplevel_get_animation_time (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3531"><td class="num" id="LN3531">3531</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3532"><td class="num" id="LN3532">3532</td><td class="line"> <span class='comment'>/* The number of seconds to complete the animation.</span></td></tr>
+<tr class="codeline" data-linenumber="3533"><td class="num" id="LN3533">3533</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3534"><td class="num" id="LN3534">3534</td><td class="line"><span class='directive'>#define ANIMATION_TIME_FAST 400</span></td></tr>
+<tr class="codeline" data-linenumber="3535"><td class="num" id="LN3535">3535</td><td class="line"><span class='directive'>#define ANIMATION_TIME_MEDIUM 1200</span></td></tr>
+<tr class="codeline" data-linenumber="3536"><td class="num" id="LN3536">3536</td><td class="line"><span class='directive'>#define ANIMATION_TIME_SLOW 2000</span></td></tr>
+<tr class="codeline" data-linenumber="3537"><td class="num" id="LN3537">3537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3538"><td class="num" id="LN3538">3538</td><td class="line"> GTimeSpan t;</td></tr>
+<tr class="codeline" data-linenumber="3539"><td class="num" id="LN3539">3539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3540"><td class="num" id="LN3540">3540</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;animation_speed) {</td></tr>
+<tr class="codeline" data-linenumber="3541"><td class="num" id="LN3541">3541</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_SLOW:</td></tr>
+<tr class="codeline" data-linenumber="3542"><td class="num" id="LN3542">3542</td><td class="line"> t = ANIMATION_TIME_SLOW * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3543"><td class="num" id="LN3543">3543</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3544"><td class="num" id="LN3544">3544</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_MEDIUM:</td></tr>
+<tr class="codeline" data-linenumber="3545"><td class="num" id="LN3545">3545</td><td class="line"> t = ANIMATION_TIME_MEDIUM * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3546"><td class="num" id="LN3546">3546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3547"><td class="num" id="LN3547">3547</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_FAST:</td></tr>
+<tr class="codeline" data-linenumber="3548"><td class="num" id="LN3548">3548</td><td class="line"> t = ANIMATION_TIME_FAST * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3549"><td class="num" id="LN3549">3549</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3550"><td class="num" id="LN3550">3550</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3551"><td class="num" id="LN3551">3551</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3551, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3552"><td class="num" id="LN3552">3552</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3553"><td class="num" id="LN3553">3553</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3554"><td class="num" id="LN3554">3554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3555"><td class="num" id="LN3555">3555</td><td class="line"> <span class='keyword'>return</span> t;</td></tr>
+<tr class="codeline" data-linenumber="3556"><td class="num" id="LN3556">3556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3557"><td class="num" id="LN3557">3557</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_FAST</span></td></tr>
+<tr class="codeline" data-linenumber="3558"><td class="num" id="LN3558">3558</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_MEDIUM</span></td></tr>
+<tr class="codeline" data-linenumber="3559"><td class="num" id="LN3559">3559</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_SLOW</span></td></tr>
+<tr class="codeline" data-linenumber="3560"><td class="num" id="LN3560">3560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3561"><td class="num" id="LN3561">3561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3562"><td class="num" id="LN3562">3562</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3563"><td class="num" id="LN3563">3563</td><td class="line">panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3564"><td class="num" id="LN3564">3564</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3565"><td class="num" id="LN3565">3565</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="3566"><td class="num" id="LN3566">3566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3567"><td class="num" id="LN3567">3567</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="3568"><td class="num" id="LN3568">3568</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="3569"><td class="num" id="LN3569">3569</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3570"><td class="num" id="LN3570">3570</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3571"><td class="num" id="LN3571">3571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3572"><td class="num" id="LN3572">3572</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="3573"><td class="num" id="LN3573">3573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3574"><td class="num" id="LN3574">3574</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="3575"><td class="num" id="LN3575">3575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3576"><td class="num" id="LN3576">3576</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="3577"><td class="num" id="LN3577">3577</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x =</td></tr>
+<tr class="codeline" data-linenumber="3578"><td class="num" id="LN3578">3578</td><td class="line"> (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3579"><td class="num" id="LN3579">3579</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="3580"><td class="num" id="LN3580">3580</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y =</td></tr>
+<tr class="codeline" data-linenumber="3581"><td class="num" id="LN3581">3581</td><td class="line"> (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3582"><td class="num" id="LN3582">3582</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3583"><td class="num" id="LN3583">3583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3584"><td class="num" id="LN3584">3584</td><td class="line"> <span class='comment'>/* we consider the toplevels which are in the initial animation stage</span></td></tr>
+<tr class="codeline" data-linenumber="3585"><td class="num" id="LN3585">3585</td><td class="line"> <span class='comment'>* as in a normal state */</span></td></tr>
+<tr class="codeline" data-linenumber="3586"><td class="num" id="LN3586">3586</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="3587"><td class="num" id="LN3587">3587</td><td class="line"> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3588"><td class="num" id="LN3588">3588</td><td class="line"> !toplevel-&gt;priv-&gt;auto_hide))</td></tr>
+<tr class="codeline" data-linenumber="3589"><td class="num" id="LN3589">3589</td><td class="line"> panel_toplevel_update_normal_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3590"><td class="num" id="LN3590">3590</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3591"><td class="num" id="LN3591">3591</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3592"><td class="num" id="LN3592">3592</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3593"><td class="num" id="LN3593">3593</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3594"><td class="num" id="LN3594">3594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3595"><td class="num" id="LN3595">3595</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3596"><td class="num" id="LN3596">3596</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3597"><td class="num" id="LN3597">3597</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3598"><td class="num" id="LN3598">3598</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3599"><td class="num" id="LN3599">3599</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3600"><td class="num" id="LN3600">3600</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="3601"><td class="num" id="LN3601">3601</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3602"><td class="num" id="LN3602">3602</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3603"><td class="num" id="LN3603">3603</td><td class="line"> panel_toplevel_update_hidden_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3604"><td class="num" id="LN3604">3604</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3605"><td class="num" id="LN3605">3605</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3606"><td class="num" id="LN3606">3606</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3607"><td class="num" id="LN3607">3607</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3608"><td class="num" id="LN3608">3608</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3609"><td class="num" id="LN3609">3609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3610"><td class="num" id="LN3610">3610</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3611"><td class="num" id="LN3611">3611</td><td class="line">panel_toplevel_start_animation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3612"><td class="num" id="LN3612">3612</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3613"><td class="num" id="LN3613">3613</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3614"><td class="num" id="LN3614">3614</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="3615"><td class="num" id="LN3615">3615</td><td class="line"> <span class='keyword'>int</span> cur_x = -1, cur_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3616"><td class="num" id="LN3616">3616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3617"><td class="num" id="LN3617">3617</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3618"><td class="num" id="LN3618">3618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3619"><td class="num" id="LN3619">3619</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3620"><td class="num" id="LN3620">3620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3621"><td class="num" id="LN3621">3621</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3622"><td class="num" id="LN3622">3622</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3623"><td class="num" id="LN3623">3623</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3624"><td class="num" id="LN3624">3624</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3625"><td class="num" id="LN3625">3625</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3626"><td class="num" id="LN3626">3626</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3627"><td class="num" id="LN3627">3627</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3628"><td class="num" id="LN3628">3628</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3629"><td class="num" id="LN3629">3629</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3630"><td class="num" id="LN3630">3630</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3631"><td class="num" id="LN3631">3631</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3632"><td class="num" id="LN3632">3632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3633"><td class="num" id="LN3633">3633</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>), &amp;cur_x, &amp;cur_y);</td></tr>
+<tr class="codeline" data-linenumber="3634"><td class="num" id="LN3634">3634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3635"><td class="num" id="LN3635">3635</td><td class="line"> cur_x -= panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3636"><td class="num" id="LN3636">3636</td><td class="line"> cur_y -= panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3637"><td class="num" id="LN3637">3637</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3638"><td class="num" id="LN3638">3638</td><td class="line"> deltax = toplevel-&gt;priv-&gt;animation_end_x - cur_x;</td></tr>
+<tr class="codeline" data-linenumber="3639"><td class="num" id="LN3639">3639</td><td class="line"> deltay = toplevel-&gt;priv-&gt;animation_end_y - cur_y;</td></tr>
+<tr class="codeline" data-linenumber="3640"><td class="num" id="LN3640">3640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3641"><td class="num" id="LN3641">3641</td><td class="line"> gtk_widget_get_preferred_size (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3642"><td class="num" id="LN3642">3642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3643"><td class="num" id="LN3643">3643</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="3644"><td class="num" id="LN3644">3644</td><td class="line"> deltaw = toplevel-&gt;priv-&gt;animation_end_width - requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3645"><td class="num" id="LN3645">3645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3646"><td class="num" id="LN3646">3646</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="3647"><td class="num" id="LN3647">3647</td><td class="line"> deltah = toplevel-&gt;priv-&gt;animation_end_height - requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3648"><td class="num" id="LN3648">3648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3649"><td class="num" id="LN3649">3649</td><td class="line"> <span class='keyword'>if</span> (deltax == 0 &amp;&amp; deltay == 0 &amp;&amp; deltaw == 0 &amp;&amp; deltah == 0) {</td></tr>
+<tr class="codeline" data-linenumber="3650"><td class="num" id="LN3650">3650</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3651"><td class="num" id="LN3651">3651</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3652"><td class="num" id="LN3652">3652</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3653"><td class="num" id="LN3653">3653</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3654"><td class="num" id="LN3654">3654</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3655"><td class="num" id="LN3655">3655</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3656"><td class="num" id="LN3656">3656</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3657"><td class="num" id="LN3657">3657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3658"><td class="num" id="LN3658">3658</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3659"><td class="num" id="LN3659">3659</td><td class="line"> <span class='comment'>/* Re-map unmapped attached toplevels */</span></td></tr>
+<tr class="codeline" data-linenumber="3660"><td class="num" id="LN3660">3660</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3661"><td class="num" id="LN3661">3661</td><td class="line"> gtk_widget_set_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3662"><td class="num" id="LN3662">3662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3663"><td class="num" id="LN3663">3663</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_mapped (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3664"><td class="num" id="LN3664">3664</td><td class="line"> gtk_widget_map (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3665"><td class="num" id="LN3665">3665</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3666"><td class="num" id="LN3666">3666</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_window_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3667"><td class="num" id="LN3667">3667</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3668"><td class="num" id="LN3668">3668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3669"><td class="num" id="LN3669">3669</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = g_get_monotonic_time ();</td></tr>
+<tr class="codeline" data-linenumber="3670"><td class="num" id="LN3670">3670</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = panel_toplevel_get_animation_time (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3671"><td class="num" id="LN3671">3671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3672"><td class="num" id="LN3672">3672</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3673"><td class="num" id="LN3673">3673</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3674"><td class="num" id="LN3674">3674</td><td class="line"> g_timeout_add (20, (GSourceFunc) panel_toplevel_animation_timeout, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3675"><td class="num" id="LN3675">3675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3676"><td class="num" id="LN3676">3676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3677"><td class="num" id="LN3677">3677</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3678"><td class="num" id="LN3678">3678</td><td class="line">panel_toplevel_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3679"><td class="num" id="LN3679">3679</td><td class="line"> gboolean auto_hide,</td></tr>
+<tr class="codeline" data-linenumber="3680"><td class="num" id="LN3680">3680</td><td class="line"> gint direction)</td></tr>
+<tr class="codeline" data-linenumber="3681"><td class="num" id="LN3681">3681</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3682"><td class="num" id="LN3682">3682</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3683"><td class="num" id="LN3683">3683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3684"><td class="num" id="LN3684">3684</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3685"><td class="num" id="LN3685">3685</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3686"><td class="num" id="LN3686">3686</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3687"><td class="num" id="LN3687">3687</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [HIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3688"><td class="num" id="LN3688">3688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3689"><td class="num" id="LN3689">3689</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3690"><td class="num" id="LN3690">3690</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3691"><td class="num" id="LN3691">3691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3692"><td class="num" id="LN3692">3692</td><td class="line"> <span class='keyword'>if</span> (auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3693"><td class="num" id="LN3693">3693</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="3694"><td class="num" id="LN3694">3694</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3695"><td class="num" id="LN3695">3695</td><td class="line"> GtkDirectionType hide_direction;</td></tr>
+<tr class="codeline" data-linenumber="3696"><td class="num" id="LN3696">3696</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3697"><td class="num" id="LN3697">3697</td><td class="line"> <span class='keyword'>if</span> (direction == -1) {</td></tr>
+<tr class="codeline" data-linenumber="3698"><td class="num" id="LN3698">3698</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3699"><td class="num" id="LN3699">3699</td><td class="line"> hide_direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="3700"><td class="num" id="LN3700">3700</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3701"><td class="num" id="LN3701">3701</td><td class="line"> hide_direction = GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3702"><td class="num" id="LN3702">3702</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3703"><td class="num" id="LN3703">3703</td><td class="line"> hide_direction = (GtkDirectionType) direction;</td></tr>
+<tr class="codeline" data-linenumber="3704"><td class="num" id="LN3704">3704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3705"><td class="num" id="LN3705">3705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3706"><td class="num" id="LN3706">3706</td><td class="line"> <span class='keyword'>switch</span> (hide_direction) {</td></tr>
+<tr class="codeline" data-linenumber="3707"><td class="num" id="LN3707">3707</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_UP:</td></tr>
+<tr class="codeline" data-linenumber="3708"><td class="num" id="LN3708">3708</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3709"><td class="num" id="LN3709">3709</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="3710"><td class="num" id="LN3710">3710</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3711"><td class="num" id="LN3711">3711</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="3712"><td class="num" id="LN3712">3712</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3713"><td class="num" id="LN3713">3713</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="3714"><td class="num" id="LN3714">3714</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3715"><td class="num" id="LN3715">3715</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="3716"><td class="num" id="LN3716">3716</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3717"><td class="num" id="LN3717">3717</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3718"><td class="num" id="LN3718">3718</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3719"><td class="num" id="LN3719">3719</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="3720"><td class="num" id="LN3720">3720</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3721"><td class="num" id="LN3721">3721</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="3722"><td class="num" id="LN3722">3722</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3723"><td class="num" id="LN3723">3723</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3724"><td class="num" id="LN3724">3724</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3724, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3725"><td class="num" id="LN3725">3725</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3726"><td class="num" id="LN3726">3726</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3727"><td class="num" id="LN3727">3727</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3728"><td class="num" id="LN3728">3728</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3729"><td class="num" id="LN3729">3729</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3730"><td class="num" id="LN3730">3730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3731"><td class="num" id="LN3731">3731</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3732"><td class="num" id="LN3732">3732</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3733"><td class="num" id="LN3733">3733</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3734"><td class="num" id="LN3734">3734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3735"><td class="num" id="LN3735">3735</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), hide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3736"><td class="num" id="LN3736">3736</td><td class="line"> <span class='comment'>* this hides the hide button properly as well */</span></td></tr>
+<tr class="codeline" data-linenumber="3737"><td class="num" id="LN3737">3737</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3738"><td class="num" id="LN3738">3738</td><td class="line"> gtk_widget_hide (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3739"><td class="num" id="LN3739">3739</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3740"><td class="num" id="LN3740">3740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3741"><td class="num" id="LN3741">3741</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3742"><td class="num" id="LN3742">3742</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3743"><td class="num" id="LN3743">3743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3744"><td class="num" id="LN3744">3744</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3745"><td class="num" id="LN3745">3745</td><td class="line">panel_toplevel_auto_hide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3746"><td class="num" id="LN3746">3746</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3747"><td class="num" id="LN3747">3747</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3748"><td class="num" id="LN3748">3748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3749"><td class="num" id="LN3749">3749</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_autohide_disabled (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="3750"><td class="num" id="LN3750">3750</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3751"><td class="num" id="LN3751">3751</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3752"><td class="num" id="LN3752">3752</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3753"><td class="num" id="LN3753">3753</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3754"><td class="num" id="LN3754">3754</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3755"><td class="num" id="LN3755">3755</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3756"><td class="num" id="LN3756">3756</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3757"><td class="num" id="LN3757">3757</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3758"><td class="num" id="LN3758">3758</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3759"><td class="num" id="LN3759">3759</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3760"><td class="num" id="LN3760">3760</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3761"><td class="num" id="LN3761">3761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3762"><td class="num" id="LN3762">3762</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3763"><td class="num" id="LN3763">3763</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3764"><td class="num" id="LN3764">3764</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3765"><td class="num" id="LN3765">3765</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3766"><td class="num" id="LN3766">3766</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3767"><td class="num" id="LN3767">3767</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3768"><td class="num" id="LN3768">3768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3769"><td class="num" id="LN3769">3769</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3770"><td class="num" id="LN3770">3770</td><td class="line">panel_toplevel_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3771"><td class="num" id="LN3771">3771</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3772"><td class="num" id="LN3772">3772</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3773"><td class="num" id="LN3773">3773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3774"><td class="num" id="LN3774">3774</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3775"><td class="num" id="LN3775">3775</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3776"><td class="num" id="LN3776">3776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3777"><td class="num" id="LN3777">3777</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="3778"><td class="num" id="LN3778">3778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3779"><td class="num" id="LN3779">3779</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3780"><td class="num" id="LN3780">3780</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3781"><td class="num" id="LN3781">3781</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3782"><td class="num" id="LN3782">3782</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3783"><td class="num" id="LN3783">3783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3784"><td class="num" id="LN3784">3784</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3785"><td class="num" id="LN3785">3785</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3786"><td class="num" id="LN3786">3786</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3787"><td class="num" id="LN3787">3787</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3788"><td class="num" id="LN3788">3788</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), unhide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3789"><td class="num" id="LN3789">3789</td><td class="line"> <span class='comment'>* (same as for hide) */</span></td></tr>
+<tr class="codeline" data-linenumber="3790"><td class="num" id="LN3790">3790</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3791"><td class="num" id="LN3791">3791</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3792"><td class="num" id="LN3792">3792</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3793"><td class="num" id="LN3793">3793</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3794"><td class="num" id="LN3794">3794</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3795"><td class="num" id="LN3795">3795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3796"><td class="num" id="LN3796">3796</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3797"><td class="num" id="LN3797">3797</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3798"><td class="num" id="LN3798">3798</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3799"><td class="num" id="LN3799">3799</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3800"><td class="num" id="LN3800">3800</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3801"><td class="num" id="LN3801">3801</td><td class="line">panel_toplevel_auto_unhide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3802"><td class="num" id="LN3802">3802</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3803"><td class="num" id="LN3803">3803</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3804"><td class="num" id="LN3804">3804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3805"><td class="num" id="LN3805">3805</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3806"><td class="num" id="LN3806">3806</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3807"><td class="num" id="LN3807">3807</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3808"><td class="num" id="LN3808">3808</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3809"><td class="num" id="LN3809">3809</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3810"><td class="num" id="LN3810">3810</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3811"><td class="num" id="LN3811">3811</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3812"><td class="num" id="LN3812">3812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3813"><td class="num" id="LN3813">3813</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3814"><td class="num" id="LN3814">3814</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3815"><td class="num" id="LN3815">3815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3816"><td class="num" id="LN3816">3816</td><td class="line"> <span class='comment'>/* initial animation for auto-hidden panels: we need to unhide and hide</span></td></tr>
+<tr class="codeline" data-linenumber="3817"><td class="num" id="LN3817">3817</td><td class="line"> <span class='comment'>* again to get at the right size */</span></td></tr>
+<tr class="codeline" data-linenumber="3818"><td class="num" id="LN3818">3818</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3819"><td class="num" id="LN3819">3819</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3820"><td class="num" id="LN3820">3820</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3821"><td class="num" id="LN3821">3821</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3822"><td class="num" id="LN3822">3822</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3823"><td class="num" id="LN3823">3823</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3824"><td class="num" id="LN3824">3824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3825"><td class="num" id="LN3825">3825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3826"><td class="num" id="LN3826">3826</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_contains_pointer (toplevel) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3827"><td class="num" id="LN3827">3827</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3828"><td class="num" id="LN3828">3828</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3829"><td class="num" id="LN3829">3829</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3830"><td class="num" id="LN3830">3830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3831"><td class="num" id="LN3831">3831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3832"><td class="num" id="LN3832">3832</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3833"><td class="num" id="LN3833">3833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3834"><td class="num" id="LN3834">3834</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3835"><td class="num" id="LN3835">3835</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3836"><td class="num" id="LN3836">3836</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3837"><td class="num" id="LN3837">3837</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3838"><td class="num" id="LN3838">3838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3839"><td class="num" id="LN3839">3839</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3840"><td class="num" id="LN3840">3840</td><td class="line">panel_toplevel_queue_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3841"><td class="num" id="LN3841">3841</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3842"><td class="num" id="LN3842">3842</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3843"><td class="num" id="LN3843">3843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3844"><td class="num" id="LN3844">3844</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;auto_hide ||</td></tr>
+<tr class="codeline" data-linenumber="3845"><td class="num" id="LN3845">3845</td><td class="line"> panel_toplevel_contains_pointer (toplevel) ||</td></tr>
+<tr class="codeline" data-linenumber="3846"><td class="num" id="LN3846">3846</td><td class="line"> panel_toplevel_get_autohide_disabled (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="3847"><td class="num" id="LN3847">3847</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3848"><td class="num" id="LN3848">3848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3849"><td class="num" id="LN3849">3849</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3850"><td class="num" id="LN3850">3850</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3851"><td class="num" id="LN3851">3851</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3852"><td class="num" id="LN3852">3852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3853"><td class="num" id="LN3853">3853</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout ||</td></tr>
+<tr class="codeline" data-linenumber="3854"><td class="num" id="LN3854">3854</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3855"><td class="num" id="LN3855">3855</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3856"><td class="num" id="LN3856">3856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3857"><td class="num" id="LN3857">3857</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3858"><td class="num" id="LN3858">3858</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3859"><td class="num" id="LN3859">3859</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;hide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3860"><td class="num" id="LN3860">3860</td><td class="line"> (GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3861"><td class="num" id="LN3861">3861</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3862"><td class="num" id="LN3862">3862</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3863"><td class="num" id="LN3863">3863</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3864"><td class="num" id="LN3864">3864</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3865"><td class="num" id="LN3865">3865</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3866"><td class="num" id="LN3866">3866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3867"><td class="num" id="LN3867">3867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3868"><td class="num" id="LN3868">3868</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3869"><td class="num" id="LN3869">3869</td><td class="line">panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3870"><td class="num" id="LN3870">3870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3871"><td class="num" id="LN3871">3871</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3872"><td class="num" id="LN3872">3872</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3873"><td class="num" id="LN3873">3873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3874"><td class="num" id="LN3874">3874</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3875"><td class="num" id="LN3875">3875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3876"><td class="num" id="LN3876">3876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3877"><td class="num" id="LN3877">3877</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3878"><td class="num" id="LN3878">3878</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3879"><td class="num" id="LN3879">3879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3880"><td class="num" id="LN3880">3880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3881"><td class="num" id="LN3881">3881</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3882"><td class="num" id="LN3882">3882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3883"><td class="num" id="LN3883">3883</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3884"><td class="num" id="LN3884">3884</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3885"><td class="num" id="LN3885">3885</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;unhide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3886"><td class="num" id="LN3886">3886</td><td class="line"> (GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3887"><td class="num" id="LN3887">3887</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3888"><td class="num" id="LN3888">3888</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3889"><td class="num" id="LN3889">3889</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3890"><td class="num" id="LN3890">3890</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3891"><td class="num" id="LN3891">3891</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3892"><td class="num" id="LN3892">3892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3893"><td class="num" id="LN3893">3893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3894"><td class="num" id="LN3894">3894</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3895"><td class="num" id="LN3895">3895</td><td class="line">panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3896"><td class="num" id="LN3896">3896</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3897"><td class="num" id="LN3897">3897</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3898"><td class="num" id="LN3898">3898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3899"><td class="num" id="LN3899">3899</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;initial_animation_done)</td></tr>
+<tr class="codeline" data-linenumber="3900"><td class="num" id="LN3900">3900</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3901"><td class="num" id="LN3901">3901</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3902"><td class="num" id="LN3902">3902</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3903"><td class="num" id="LN3903">3903</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3904"><td class="num" id="LN3904">3904</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3905"><td class="num" id="LN3905">3905</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3906"><td class="num" id="LN3906">3906</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3907"><td class="num" id="LN3907">3907</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3908"><td class="num" id="LN3908">3908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3909"><td class="num" id="LN3909">3909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3910"><td class="num" id="LN3910">3910</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3911"><td class="num" id="LN3911">3911</td><td class="line">panel_toplevel_enter_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3912"><td class="num" id="LN3912">3912</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3913"><td class="num" id="LN3913">3913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3914"><td class="num" id="LN3914">3914</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3915"><td class="num" id="LN3915">3915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3916"><td class="num" id="LN3916">3916</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3917"><td class="num" id="LN3917">3917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3918"><td class="num" id="LN3918">3918</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3919"><td class="num" id="LN3919">3919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3920"><td class="num" id="LN3920">3920</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3921"><td class="num" id="LN3921">3921</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3922"><td class="num" id="LN3922">3922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3923"><td class="num" id="LN3923">3923</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3924"><td class="num" id="LN3924">3924</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3925"><td class="num" id="LN3925">3925</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3926"><td class="num" id="LN3926">3926</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3927"><td class="num" id="LN3927">3927</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3928"><td class="num" id="LN3928">3928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3929"><td class="num" id="LN3929">3929</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3930"><td class="num" id="LN3930">3930</td><td class="line">panel_toplevel_leave_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3931"><td class="num" id="LN3931">3931</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3932"><td class="num" id="LN3932">3932</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3933"><td class="num" id="LN3933">3933</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3934"><td class="num" id="LN3934">3934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3935"><td class="num" id="LN3935">3935</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3936"><td class="num" id="LN3936">3936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3937"><td class="num" id="LN3937">3937</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3938"><td class="num" id="LN3938">3938</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3939"><td class="num" id="LN3939">3939</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3940"><td class="num" id="LN3940">3940</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3941"><td class="num" id="LN3941">3941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3942"><td class="num" id="LN3942">3942</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3943"><td class="num" id="LN3943">3943</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3944"><td class="num" id="LN3944">3944</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3945"><td class="num" id="LN3945">3945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3946"><td class="num" id="LN3946">3946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3947"><td class="num" id="LN3947">3947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3948"><td class="num" id="LN3948">3948</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3949"><td class="num" id="LN3949">3949</td><td class="line">panel_toplevel_focus_in_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3950"><td class="num" id="LN3950">3950</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3951"><td class="num" id="LN3951">3951</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3952"><td class="num" id="LN3952">3952</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3953"><td class="num" id="LN3953">3953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3954"><td class="num" id="LN3954">3954</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3955"><td class="num" id="LN3955">3955</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3956"><td class="num" id="LN3956">3956</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3957"><td class="num" id="LN3957">3957</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event)</td></tr>
+<tr class="codeline" data-linenumber="3958"><td class="num" id="LN3958">3958</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3959"><td class="num" id="LN3959">3959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3960"><td class="num" id="LN3960">3960</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3961"><td class="num" id="LN3961">3961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3962"><td class="num" id="LN3962">3962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3963"><td class="num" id="LN3963">3963</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3964"><td class="num" id="LN3964">3964</td><td class="line">panel_toplevel_focus_out_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3965"><td class="num" id="LN3965">3965</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3966"><td class="num" id="LN3966">3966</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3967"><td class="num" id="LN3967">3967</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3968"><td class="num" id="LN3968">3968</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3969"><td class="num" id="LN3969">3969</td><td class="line"> <span class='comment'>/* It appears that sometimes we don't get a leave notify event,</span></td></tr>
+<tr class="codeline" data-linenumber="3970"><td class="num" id="LN3970">3970</td><td class="line"> <span class='comment'>but just a focus in/out, so queue the autohide in that case.</span></td></tr>
+<tr class="codeline" data-linenumber="3971"><td class="num" id="LN3971">3971</td><td class="line"> <span class='comment'>If the pointer is inside the panel then obviously we won't hide */</span></td></tr>
+<tr class="codeline" data-linenumber="3972"><td class="num" id="LN3972">3972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3973"><td class="num" id="LN3973">3973</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3974"><td class="num" id="LN3974">3974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3975"><td class="num" id="LN3975">3975</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event)</td></tr>
+<tr class="codeline" data-linenumber="3976"><td class="num" id="LN3976">3976</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3977"><td class="num" id="LN3977">3977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3978"><td class="num" id="LN3978">3978</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3979"><td class="num" id="LN3979">3979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3980"><td class="num" id="LN3980">3980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3981"><td class="num" id="LN3981">3981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3982"><td class="num" id="LN3982">3982</td><td class="line">panel_toplevel_style_updated (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3983"><td class="num" id="LN3983">3983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3984"><td class="num" id="LN3984">3984</td><td class="line"> panel_toplevel_update_hide_buttons (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3985"><td class="num" id="LN3985">3985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3986"><td class="num" id="LN3986">3986</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated)</td></tr>
+<tr class="codeline" data-linenumber="3987"><td class="num" id="LN3987">3987</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated (widget);</td></tr>
+<tr class="codeline" data-linenumber="3988"><td class="num" id="LN3988">3988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3989"><td class="num" id="LN3989">3989</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3990"><td class="num" id="LN3990">3990</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3991"><td class="num" id="LN3991">3991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3992"><td class="num" id="LN3992">3992</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3993"><td class="num" id="LN3993">3993</td><td class="line">panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3994"><td class="num" id="LN3994">3994</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3995"><td class="num" id="LN3995">3995</td><td class="line"> <span class='keyword'>int</span> threshold;</td></tr>
+<tr class="codeline" data-linenumber="3996"><td class="num" id="LN3996">3996</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3997"><td class="num" id="LN3997">3997</td><td class="line"> threshold = 0;</td></tr>
+<tr class="codeline" data-linenumber="3998"><td class="num" id="LN3998">3998</td><td class="line"> g_object_get (<span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;gtk_settings)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;gtk_settings)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="3999"><td class="num" id="LN3999">3999</td><td class="line"> <span class='string_literal'>"gtk-dnd-drag-threshold"</span>, &amp;threshold,</td></tr>
+<tr class="codeline" data-linenumber="4000"><td class="num" id="LN4000">4000</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4001"><td class="num" id="LN4001">4001</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4002"><td class="num" id="LN4002">4002</td><td class="line"> <span class='keyword'>if</span> (threshold)</td></tr>
+<tr class="codeline" data-linenumber="4003"><td class="num" id="LN4003">4003</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = threshold * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4004"><td class="num" id="LN4004">4004</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4005"><td class="num" id="LN4005">4005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4006"><td class="num" id="LN4006">4006</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4007"><td class="num" id="LN4007">4007</td><td class="line">panel_toplevel_update_gtk_settings (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4008"><td class="num" id="LN4008">4008</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4009"><td class="num" id="LN4009">4009</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings)</td></tr>
+<tr class="codeline" data-linenumber="4010"><td class="num" id="LN4010">4010</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4011"><td class="num" id="LN4011">4011</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4012"><td class="num" id="LN4012">4012</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4013"><td class="num" id="LN4013">4013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4014"><td class="num" id="LN4014">4014</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = gtk_widget_get_settings (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;panel_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;panel_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4015"><td class="num" id="LN4015">4015</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4016"><td class="num" id="LN4016">4016</td><td class="line"> <span class='macro'>g_signal_connect_swapped (toplevel-&gt;priv-&gt;gtk_settings, <span class='string_literal'>"notify::gtk-dnd-drag-threshold"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4017"><td class="num" id="LN4017">4017</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4018"><td class="num" id="LN4018">4018</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4019"><td class="num" id="LN4019">4019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4020"><td class="num" id="LN4020">4020</td><td class="line"> panel_toplevel_drag_threshold_changed (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4021"><td class="num" id="LN4021">4021</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4022"><td class="num" id="LN4022">4022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4023"><td class="num" id="LN4023">4023</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4024"><td class="num" id="LN4024">4024</td><td class="line">panel_toplevel_screen_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="4025"><td class="num" id="LN4025">4025</td><td class="line"> GdkScreen *previous_screen)</td></tr>
+<tr class="codeline" data-linenumber="4026"><td class="num" id="LN4026">4026</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4027"><td class="num" id="LN4027">4027</td><td class="line"> panel_toplevel_update_gtk_settings (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4028"><td class="num" id="LN4028">4028</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4029"><td class="num" id="LN4029">4029</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed)</td></tr>
+<tr class="codeline" data-linenumber="4030"><td class="num" id="LN4030">4030</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed (widget, previous_screen);</td></tr>
+<tr class="codeline" data-linenumber="4031"><td class="num" id="LN4031">4031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4032"><td class="num" id="LN4032">4032</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="4033"><td class="num" id="LN4033">4033</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4034"><td class="num" id="LN4034">4034</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4035"><td class="num" id="LN4035">4035</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4036"><td class="num" id="LN4036">4036</td><td class="line">panel_toplevel_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4037"><td class="num" id="LN4037">4037</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4038"><td class="num" id="LN4038">4038</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4039"><td class="num" id="LN4039">4039</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4040"><td class="num" id="LN4040">4040</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4041"><td class="num" id="LN4041">4041</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4042"><td class="num" id="LN4042">4042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4043"><td class="num" id="LN4043">4043</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4044"><td class="num" id="LN4044">4044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4045"><td class="num" id="LN4045">4045</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4046"><td class="num" id="LN4046">4046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4047"><td class="num" id="LN4047">4047</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4048"><td class="num" id="LN4048">4048</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4049"><td class="num" id="LN4049">4049</td><td class="line"> panel_toplevel_set_name (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4050"><td class="num" id="LN4050">4050</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4051"><td class="num" id="LN4051">4051</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4052"><td class="num" id="LN4052">4052</td><td class="line"> panel_toplevel_set_settings_path (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4053"><td class="num" id="LN4053">4053</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4054"><td class="num" id="LN4054">4054</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4055"><td class="num" id="LN4055">4055</td><td class="line"> panel_toplevel_set_expand (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4056"><td class="num" id="LN4056">4056</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4057"><td class="num" id="LN4057">4057</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4058"><td class="num" id="LN4058">4058</td><td class="line"> panel_toplevel_set_orientation (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4059"><td class="num" id="LN4059">4059</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4060"><td class="num" id="LN4060">4060</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4061"><td class="num" id="LN4061">4061</td><td class="line"> panel_toplevel_set_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4062"><td class="num" id="LN4062">4062</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4063"><td class="num" id="LN4063">4063</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4064"><td class="num" id="LN4064">4064</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4065"><td class="num" id="LN4065">4065</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4066"><td class="num" id="LN4066">4066</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4067"><td class="num" id="LN4067">4067</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4068"><td class="num" id="LN4068">4068</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4069"><td class="num" id="LN4069">4069</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4070"><td class="num" id="LN4070">4070</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4071"><td class="num" id="LN4071">4071</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4072"><td class="num" id="LN4072">4072</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4073"><td class="num" id="LN4073">4073</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4074"><td class="num" id="LN4074">4074</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4075"><td class="num" id="LN4075">4075</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4076"><td class="num" id="LN4076">4076</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4077"><td class="num" id="LN4077">4077</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4078"><td class="num" id="LN4078">4078</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4079"><td class="num" id="LN4079">4079</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4080"><td class="num" id="LN4080">4080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4081"><td class="num" id="LN4081">4081</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4082"><td class="num" id="LN4082">4082</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4083"><td class="num" id="LN4083">4083</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4084"><td class="num" id="LN4084">4084</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4085"><td class="num" id="LN4085">4085</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4086"><td class="num" id="LN4086">4086</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4087"><td class="num" id="LN4087">4087</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4088"><td class="num" id="LN4088">4088</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4089"><td class="num" id="LN4089">4089</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4090"><td class="num" id="LN4090">4090</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4091"><td class="num" id="LN4091">4091</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4092"><td class="num" id="LN4092">4092</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4093"><td class="num" id="LN4093">4093</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4094"><td class="num" id="LN4094">4094</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4095"><td class="num" id="LN4095">4095</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4096"><td class="num" id="LN4096">4096</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4097"><td class="num" id="LN4097">4097</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4098"><td class="num" id="LN4098">4098</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4099"><td class="num" id="LN4099">4099</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4100"><td class="num" id="LN4100">4100</td><td class="line"> panel_toplevel_set_monitor (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4101"><td class="num" id="LN4101">4101</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4102"><td class="num" id="LN4102">4102</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4103"><td class="num" id="LN4103">4103</td><td class="line"> panel_toplevel_set_auto_hide (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4104"><td class="num" id="LN4104">4104</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4105"><td class="num" id="LN4105">4105</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4106"><td class="num" id="LN4106">4106</td><td class="line"> panel_toplevel_set_hide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4107"><td class="num" id="LN4107">4107</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4108"><td class="num" id="LN4108">4108</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4109"><td class="num" id="LN4109">4109</td><td class="line"> panel_toplevel_set_unhide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4110"><td class="num" id="LN4110">4110</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4111"><td class="num" id="LN4111">4111</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4112"><td class="num" id="LN4112">4112</td><td class="line"> panel_toplevel_set_auto_hide_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4113"><td class="num" id="LN4113">4113</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4114"><td class="num" id="LN4114">4114</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4115"><td class="num" id="LN4115">4115</td><td class="line"> panel_toplevel_set_animate (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4116"><td class="num" id="LN4116">4116</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4117"><td class="num" id="LN4117">4117</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4118"><td class="num" id="LN4118">4118</td><td class="line"> panel_toplevel_set_animation_speed (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4119"><td class="num" id="LN4119">4119</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4120"><td class="num" id="LN4120">4120</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4121"><td class="num" id="LN4121">4121</td><td class="line"> panel_toplevel_set_enable_buttons (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4122"><td class="num" id="LN4122">4122</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4123"><td class="num" id="LN4123">4123</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4124"><td class="num" id="LN4124">4124</td><td class="line"> panel_toplevel_set_enable_arrows (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4125"><td class="num" id="LN4125">4125</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4126"><td class="num" id="LN4126">4126</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4127"><td class="num" id="LN4127">4127</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4127, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4128"><td class="num" id="LN4128">4128</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4129"><td class="num" id="LN4129">4129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4130"><td class="num" id="LN4130">4130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4131"><td class="num" id="LN4131">4131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4132"><td class="num" id="LN4132">4132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4133"><td class="num" id="LN4133">4133</td><td class="line">panel_toplevel_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4134"><td class="num" id="LN4134">4134</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4135"><td class="num" id="LN4135">4135</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4136"><td class="num" id="LN4136">4136</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4137"><td class="num" id="LN4137">4137</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4138"><td class="num" id="LN4138">4138</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4139"><td class="num" id="LN4139">4139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4140"><td class="num" id="LN4140">4140</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4141"><td class="num" id="LN4141">4141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4142"><td class="num" id="LN4142">4142</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4143"><td class="num" id="LN4143">4143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4144"><td class="num" id="LN4144">4144</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4145"><td class="num" id="LN4145">4145</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4146"><td class="num" id="LN4146">4146</td><td class="line"> g_value_set_string (value, panel_toplevel_get_name (toplevel));</td></tr>
+<tr class="codeline" data-linenumber="4147"><td class="num" id="LN4147">4147</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4148"><td class="num" id="LN4148">4148</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4149"><td class="num" id="LN4149">4149</td><td class="line"> g_value_set_string (value, toplevel-&gt;priv-&gt;settings_path);</td></tr>
+<tr class="codeline" data-linenumber="4150"><td class="num" id="LN4150">4150</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4151"><td class="num" id="LN4151">4151</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4152"><td class="num" id="LN4152">4152</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4153"><td class="num" id="LN4153">4153</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4154"><td class="num" id="LN4154">4154</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4155"><td class="num" id="LN4155">4155</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="4156"><td class="num" id="LN4156">4156</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4157"><td class="num" id="LN4157">4157</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4158"><td class="num" id="LN4158">4158</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4159"><td class="num" id="LN4159">4159</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4160"><td class="num" id="LN4160">4160</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4161"><td class="num" id="LN4161">4161</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x);</td></tr>
+<tr class="codeline" data-linenumber="4162"><td class="num" id="LN4162">4162</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4163"><td class="num" id="LN4163">4163</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4164"><td class="num" id="LN4164">4164</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x_right);</td></tr>
+<tr class="codeline" data-linenumber="4165"><td class="num" id="LN4165">4165</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4166"><td class="num" id="LN4166">4166</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4167"><td class="num" id="LN4167">4167</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4168"><td class="num" id="LN4168">4168</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4169"><td class="num" id="LN4169">4169</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4170"><td class="num" id="LN4170">4170</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y);</td></tr>
+<tr class="codeline" data-linenumber="4171"><td class="num" id="LN4171">4171</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4172"><td class="num" id="LN4172">4172</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4173"><td class="num" id="LN4173">4173</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4174"><td class="num" id="LN4174">4174</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4175"><td class="num" id="LN4175">4175</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4176"><td class="num" id="LN4176">4176</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4177"><td class="num" id="LN4177">4177</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4178"><td class="num" id="LN4178">4178</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4179"><td class="num" id="LN4179">4179</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="4180"><td class="num" id="LN4180">4180</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4181"><td class="num" id="LN4181">4181</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4182"><td class="num" id="LN4182">4182</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;auto_hide);</td></tr>
+<tr class="codeline" data-linenumber="4183"><td class="num" id="LN4183">4183</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4184"><td class="num" id="LN4184">4184</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4185"><td class="num" id="LN4185">4185</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;hide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4186"><td class="num" id="LN4186">4186</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4187"><td class="num" id="LN4187">4187</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4188"><td class="num" id="LN4188">4188</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;unhide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4189"><td class="num" id="LN4189">4189</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4190"><td class="num" id="LN4190">4190</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4191"><td class="num" id="LN4191">4191</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="4192"><td class="num" id="LN4192">4192</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4193"><td class="num" id="LN4193">4193</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4194"><td class="num" id="LN4194">4194</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;animate);</td></tr>
+<tr class="codeline" data-linenumber="4195"><td class="num" id="LN4195">4195</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4196"><td class="num" id="LN4196">4196</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4197"><td class="num" id="LN4197">4197</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;animation_speed);</td></tr>
+<tr class="codeline" data-linenumber="4198"><td class="num" id="LN4198">4198</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4199"><td class="num" id="LN4199">4199</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4200"><td class="num" id="LN4200">4200</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;buttons_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4201"><td class="num" id="LN4201">4201</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4202"><td class="num" id="LN4202">4202</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4203"><td class="num" id="LN4203">4203</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;arrows_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4204"><td class="num" id="LN4204">4204</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4205"><td class="num" id="LN4205">4205</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4206"><td class="num" id="LN4206">4206</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4206, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4207"><td class="num" id="LN4207">4207</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4208"><td class="num" id="LN4208">4208</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4209"><td class="num" id="LN4209">4209</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4210"><td class="num" id="LN4210">4210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4211"><td class="num" id="LN4211">4211</td><td class="line"><span class='keyword'>static</span> GObject*</td></tr>
+<tr class="codeline" data-linenumber="4212"><td class="num" id="LN4212">4212</td><td class="line">panel_toplevel_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="4213"><td class="num" id="LN4213">4213</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4214"><td class="num" id="LN4214">4214</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="4215"><td class="num" id="LN4215">4215</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4216"><td class="num" id="LN4216">4216</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="4217"><td class="num" id="LN4217">4217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4218"><td class="num" id="LN4218">4218</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="4219"><td class="num" id="LN4219">4219</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4220"><td class="num" id="LN4220">4220</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="4221"><td class="num" id="LN4221">4221</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL(object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4222"><td class="num" id="LN4222">4222</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4223"><td class="num" id="LN4223">4223</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="4224"><td class="num" id="LN4224">4224</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="4225"><td class="num" id="LN4225">4225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4226"><td class="num" id="LN4226">4226</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="4227"><td class="num" id="LN4227">4227</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4228"><td class="num" id="LN4228">4228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4229"><td class="num" id="LN4229">4229</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4230"><td class="num" id="LN4230">4230</td><td class="line">panel_toplevel_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="4231"><td class="num" id="LN4231">4231</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4232"><td class="num" id="LN4232">4232</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) object;</td></tr>
+<tr class="codeline" data-linenumber="4233"><td class="num" id="LN4233">4233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4234"><td class="num" id="LN4234">4234</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4235"><td class="num" id="LN4235">4235</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4236"><td class="num" id="LN4236">4236</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4237"><td class="num" id="LN4237">4237</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="4238"><td class="num" id="LN4238">4238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4239"><td class="num" id="LN4239">4239</td><td class="line"> toplevel_list = g_slist_remove (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4240"><td class="num" id="LN4240">4240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4241"><td class="num" id="LN4241">4241</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="4242"><td class="num" id="LN4242">4242</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4243"><td class="num" id="LN4243">4243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4244"><td class="num" id="LN4244">4244</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4245"><td class="num" id="LN4245">4245</td><td class="line">panel_toplevel_class_init (PanelToplevelClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="4246"><td class="num" id="LN4246">4246</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4247"><td class="num" id="LN4247">4247</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4248"><td class="num" id="LN4248">4248</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4249"><td class="num" id="LN4249">4249</td><td class="line"> GtkContainerClass *container_class = (GtkContainerClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4250"><td class="num" id="LN4250">4250</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="4251"><td class="num" id="LN4251">4251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4252"><td class="num" id="LN4252">4252</td><td class="line"> binding_set = gtk_binding_set_by_class (klass);</td></tr>
+<tr class="codeline" data-linenumber="4253"><td class="num" id="LN4253">4253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4254"><td class="num" id="LN4254">4254</td><td class="line"> gobject_class-&gt;constructor = panel_toplevel_constructor;</td></tr>
+<tr class="codeline" data-linenumber="4255"><td class="num" id="LN4255">4255</td><td class="line"> gobject_class-&gt;set_property = panel_toplevel_set_property;</td></tr>
+<tr class="codeline" data-linenumber="4256"><td class="num" id="LN4256">4256</td><td class="line"> gobject_class-&gt;get_property = panel_toplevel_get_property;</td></tr>
+<tr class="codeline" data-linenumber="4257"><td class="num" id="LN4257">4257</td><td class="line"> gobject_class-&gt;finalize = panel_toplevel_finalize;</td></tr>
+<tr class="codeline" data-linenumber="4258"><td class="num" id="LN4258">4258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4259"><td class="num" id="LN4259">4259</td><td class="line"> gobject_class-&gt;dispose = panel_toplevel_dispose;</td></tr>
+<tr class="codeline" data-linenumber="4260"><td class="num" id="LN4260">4260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4261"><td class="num" id="LN4261">4261</td><td class="line"> widget_class-&gt;realize = panel_toplevel_realize;</td></tr>
+<tr class="codeline" data-linenumber="4262"><td class="num" id="LN4262">4262</td><td class="line"> widget_class-&gt;unrealize = panel_toplevel_unrealize;</td></tr>
+<tr class="codeline" data-linenumber="4263"><td class="num" id="LN4263">4263</td><td class="line"> widget_class-&gt;state_flags_changed = panel_toplevel_state_flags_changed;</td></tr>
+<tr class="codeline" data-linenumber="4264"><td class="num" id="LN4264">4264</td><td class="line"> widget_class-&gt;draw = panel_toplevel_draw;</td></tr>
+<tr class="codeline" data-linenumber="4265"><td class="num" id="LN4265">4265</td><td class="line"> widget_class-&gt;get_preferred_width = panel_toplevel_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="4266"><td class="num" id="LN4266">4266</td><td class="line"> widget_class-&gt;get_preferred_height = panel_toplevel_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="4267"><td class="num" id="LN4267">4267</td><td class="line"> widget_class-&gt;style_updated = panel_toplevel_style_updated;</td></tr>
+<tr class="codeline" data-linenumber="4268"><td class="num" id="LN4268">4268</td><td class="line"> widget_class-&gt;size_allocate = panel_toplevel_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="4269"><td class="num" id="LN4269">4269</td><td class="line"> widget_class-&gt;button_press_event = panel_toplevel_button_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4270"><td class="num" id="LN4270">4270</td><td class="line"> widget_class-&gt;button_release_event = panel_toplevel_button_release_event;</td></tr>
+<tr class="codeline" data-linenumber="4271"><td class="num" id="LN4271">4271</td><td class="line"> widget_class-&gt;configure_event = panel_toplevel_configure_event;</td></tr>
+<tr class="codeline" data-linenumber="4272"><td class="num" id="LN4272">4272</td><td class="line"> widget_class-&gt;key_press_event = panel_toplevel_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4273"><td class="num" id="LN4273">4273</td><td class="line"> widget_class-&gt;motion_notify_event = panel_toplevel_motion_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4274"><td class="num" id="LN4274">4274</td><td class="line"> widget_class-&gt;enter_notify_event = panel_toplevel_enter_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4275"><td class="num" id="LN4275">4275</td><td class="line"> widget_class-&gt;leave_notify_event = panel_toplevel_leave_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4276"><td class="num" id="LN4276">4276</td><td class="line"> widget_class-&gt;screen_changed = panel_toplevel_screen_changed;</td></tr>
+<tr class="codeline" data-linenumber="4277"><td class="num" id="LN4277">4277</td><td class="line"> widget_class-&gt;focus_in_event = panel_toplevel_focus_in_event;</td></tr>
+<tr class="codeline" data-linenumber="4278"><td class="num" id="LN4278">4278</td><td class="line"> widget_class-&gt;focus_out_event = panel_toplevel_focus_out_event;</td></tr>
+<tr class="codeline" data-linenumber="4279"><td class="num" id="LN4279">4279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4280"><td class="num" id="LN4280">4280</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelToplevel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4281"><td class="num" id="LN4281">4281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4282"><td class="num" id="LN4282">4282</td><td class="line"> container_class-&gt;check_resize = panel_toplevel_check_resize;</td></tr>
+<tr class="codeline" data-linenumber="4283"><td class="num" id="LN4283">4283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4284"><td class="num" id="LN4284">4284</td><td class="line"> klass-&gt;hiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4285"><td class="num" id="LN4285">4285</td><td class="line"> klass-&gt;unhiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4286"><td class="num" id="LN4286">4286</td><td class="line"> klass-&gt;popup_panel_menu = panel_toplevel_popup_panel_menu;</td></tr>
+<tr class="codeline" data-linenumber="4287"><td class="num" id="LN4287">4287</td><td class="line"> klass-&gt;toggle_expand = panel_toplevel_toggle_expand;</td></tr>
+<tr class="codeline" data-linenumber="4288"><td class="num" id="LN4288">4288</td><td class="line"> klass-&gt;expand = panel_toplevel_expand;</td></tr>
+<tr class="codeline" data-linenumber="4289"><td class="num" id="LN4289">4289</td><td class="line"> klass-&gt;unexpand = panel_toplevel_unexpand;</td></tr>
+<tr class="codeline" data-linenumber="4290"><td class="num" id="LN4290">4290</td><td class="line"> klass-&gt;toggle_hidden = panel_toplevel_toggle_hidden;</td></tr>
+<tr class="codeline" data-linenumber="4291"><td class="num" id="LN4291">4291</td><td class="line"> klass-&gt;begin_move = panel_toplevel_begin_move;</td></tr>
+<tr class="codeline" data-linenumber="4292"><td class="num" id="LN4292">4292</td><td class="line"> klass-&gt;begin_resize = panel_toplevel_begin_resize;</td></tr>
+<tr class="codeline" data-linenumber="4293"><td class="num" id="LN4293">4293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4294"><td class="num" id="LN4294">4294</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4295"><td class="num" id="LN4295">4295</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4296"><td class="num" id="LN4296">4296</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="4297"><td class="num" id="LN4297">4297</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4298"><td class="num" id="LN4298">4298</td><td class="line"> <span class='string_literal'>"name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4299"><td class="num" id="LN4299">4299</td><td class="line"> <span class='string_literal'>"Name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4300"><td class="num" id="LN4300">4300</td><td class="line"> <span class='string_literal'>"The name of this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4301"><td class="num" id="LN4301">4301</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4302"><td class="num" id="LN4302">4302</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4303"><td class="num" id="LN4303">4303</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4304"><td class="num" id="LN4304">4304</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4305"><td class="num" id="LN4305">4305</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4306"><td class="num" id="LN4306">4306</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="4307"><td class="num" id="LN4307">4307</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4308"><td class="num" id="LN4308">4308</td><td class="line"> <span class='string_literal'>"settings-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4309"><td class="num" id="LN4309">4309</td><td class="line"> <span class='string_literal'>"GSettings path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4310"><td class="num" id="LN4310">4310</td><td class="line"> <span class='string_literal'>"The GSettings path used for this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4311"><td class="num" id="LN4311">4311</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4312"><td class="num" id="LN4312">4312</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4313"><td class="num" id="LN4313">4313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4314"><td class="num" id="LN4314">4314</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4315"><td class="num" id="LN4315">4315</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4316"><td class="num" id="LN4316">4316</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="4317"><td class="num" id="LN4317">4317</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4318"><td class="num" id="LN4318">4318</td><td class="line"> <span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4319"><td class="num" id="LN4319">4319</td><td class="line"> <span class='string_literal'>"Expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4320"><td class="num" id="LN4320">4320</td><td class="line"> <span class='string_literal'>"Expand to take up the full monitor width/height"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4321"><td class="num" id="LN4321">4321</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4322"><td class="num" id="LN4322">4322</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4323"><td class="num" id="LN4323">4323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4324"><td class="num" id="LN4324">4324</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4325"><td class="num" id="LN4325">4325</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4326"><td class="num" id="LN4326">4326</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="4327"><td class="num" id="LN4327">4327</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4328"><td class="num" id="LN4328">4328</td><td class="line"> <span class='string_literal'>"orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4329"><td class="num" id="LN4329">4329</td><td class="line"> <span class='string_literal'>"Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4330"><td class="num" id="LN4330">4330</td><td class="line"> <span class='string_literal'>"The orientation of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4331"><td class="num" id="LN4331">4331</td><td class="line"> <span class='macro'>PANEL_TYPE_ORIENTATION<span class='macro_popup'>panel_orientation_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4332"><td class="num" id="LN4332">4332</td><td class="line"> PANEL_ORIENTATION_TOP,</td></tr>
+<tr class="codeline" data-linenumber="4333"><td class="num" id="LN4333">4333</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4334"><td class="num" id="LN4334">4334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4335"><td class="num" id="LN4335">4335</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4336"><td class="num" id="LN4336">4336</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4337"><td class="num" id="LN4337">4337</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4338"><td class="num" id="LN4338">4338</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4339"><td class="num" id="LN4339">4339</td><td class="line"> <span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4340"><td class="num" id="LN4340">4340</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4341"><td class="num" id="LN4341">4341</td><td class="line"> <span class='string_literal'>"The height (or width when vertical) of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4342"><td class="num" id="LN4342">4342</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4343"><td class="num" id="LN4343">4343</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4344"><td class="num" id="LN4344">4344</td><td class="line"> <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4345"><td class="num" id="LN4345">4345</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4346"><td class="num" id="LN4346">4346</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4347"><td class="num" id="LN4347">4347</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4348"><td class="num" id="LN4348">4348</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4349"><td class="num" id="LN4349">4349</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="4350"><td class="num" id="LN4350">4350</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4351"><td class="num" id="LN4351">4351</td><td class="line"> <span class='string_literal'>"x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4352"><td class="num" id="LN4352">4352</td><td class="line"> <span class='string_literal'>"X position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4353"><td class="num" id="LN4353">4353</td><td class="line"> <span class='string_literal'>"The X position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4354"><td class="num" id="LN4354">4354</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4355"><td class="num" id="LN4355">4355</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4356"><td class="num" id="LN4356">4356</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4357"><td class="num" id="LN4357">4357</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4358"><td class="num" id="LN4358">4358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4359"><td class="num" id="LN4359">4359</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4360"><td class="num" id="LN4360">4360</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4361"><td class="num" id="LN4361">4361</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="4362"><td class="num" id="LN4362">4362</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4363"><td class="num" id="LN4363">4363</td><td class="line"> <span class='string_literal'>"x-right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4364"><td class="num" id="LN4364">4364</td><td class="line"> <span class='string_literal'>"X position, from the right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4365"><td class="num" id="LN4365">4365</td><td class="line"> <span class='string_literal'>"The X position of the panel, starting from the right of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4366"><td class="num" id="LN4366">4366</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4367"><td class="num" id="LN4367">4367</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4368"><td class="num" id="LN4368">4368</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4369"><td class="num" id="LN4369">4369</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4370"><td class="num" id="LN4370">4370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4371"><td class="num" id="LN4371">4371</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4372"><td class="num" id="LN4372">4372</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4373"><td class="num" id="LN4373">4373</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4374"><td class="num" id="LN4374">4374</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4375"><td class="num" id="LN4375">4375</td><td class="line"> <span class='string_literal'>"x-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4376"><td class="num" id="LN4376">4376</td><td class="line"> <span class='string_literal'>"X centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4377"><td class="num" id="LN4377">4377</td><td class="line"> <span class='string_literal'>"The x co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4378"><td class="num" id="LN4378">4378</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4379"><td class="num" id="LN4379">4379</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4380"><td class="num" id="LN4380">4380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4381"><td class="num" id="LN4381">4381</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4382"><td class="num" id="LN4382">4382</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4383"><td class="num" id="LN4383">4383</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="4384"><td class="num" id="LN4384">4384</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4385"><td class="num" id="LN4385">4385</td><td class="line"> <span class='string_literal'>"y"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4386"><td class="num" id="LN4386">4386</td><td class="line"> <span class='string_literal'>"Y position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4387"><td class="num" id="LN4387">4387</td><td class="line"> <span class='string_literal'>"The Y position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4388"><td class="num" id="LN4388">4388</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4389"><td class="num" id="LN4389">4389</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4390"><td class="num" id="LN4390">4390</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4391"><td class="num" id="LN4391">4391</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4392"><td class="num" id="LN4392">4392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4393"><td class="num" id="LN4393">4393</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4394"><td class="num" id="LN4394">4394</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4395"><td class="num" id="LN4395">4395</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="4396"><td class="num" id="LN4396">4396</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4397"><td class="num" id="LN4397">4397</td><td class="line"> <span class='string_literal'>"y_bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4398"><td class="num" id="LN4398">4398</td><td class="line"> <span class='string_literal'>"Y position, from the bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4399"><td class="num" id="LN4399">4399</td><td class="line"> <span class='string_literal'>"The Y position of the panel, starting from the bottom of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4400"><td class="num" id="LN4400">4400</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4401"><td class="num" id="LN4401">4401</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4402"><td class="num" id="LN4402">4402</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4403"><td class="num" id="LN4403">4403</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4404"><td class="num" id="LN4404">4404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4405"><td class="num" id="LN4405">4405</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4406"><td class="num" id="LN4406">4406</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4407"><td class="num" id="LN4407">4407</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4408"><td class="num" id="LN4408">4408</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4409"><td class="num" id="LN4409">4409</td><td class="line"> <span class='string_literal'>"y-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4410"><td class="num" id="LN4410">4410</td><td class="line"> <span class='string_literal'>"Y centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4411"><td class="num" id="LN4411">4411</td><td class="line"> <span class='string_literal'>"The y co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4412"><td class="num" id="LN4412">4412</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4413"><td class="num" id="LN4413">4413</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4414"><td class="num" id="LN4414">4414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4415"><td class="num" id="LN4415">4415</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4416"><td class="num" id="LN4416">4416</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4417"><td class="num" id="LN4417">4417</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="4418"><td class="num" id="LN4418">4418</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4419"><td class="num" id="LN4419">4419</td><td class="line"> <span class='string_literal'>"monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4420"><td class="num" id="LN4420">4420</td><td class="line"> <span class='string_literal'>"Xinerama monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4421"><td class="num" id="LN4421">4421</td><td class="line"> <span class='string_literal'>"The monitor (in terms of Xinerama) which the panel is on"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4422"><td class="num" id="LN4422">4422</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4423"><td class="num" id="LN4423">4423</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4424"><td class="num" id="LN4424">4424</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4425"><td class="num" id="LN4425">4425</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4426"><td class="num" id="LN4426">4426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4427"><td class="num" id="LN4427">4427</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4428"><td class="num" id="LN4428">4428</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4429"><td class="num" id="LN4429">4429</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="4430"><td class="num" id="LN4430">4430</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4431"><td class="num" id="LN4431">4431</td><td class="line"> <span class='string_literal'>"auto-hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4432"><td class="num" id="LN4432">4432</td><td class="line"> <span class='string_literal'>"Auto hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4433"><td class="num" id="LN4433">4433</td><td class="line"> <span class='string_literal'>"Automatically hide the panel when the mouse leaves the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4434"><td class="num" id="LN4434">4434</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4435"><td class="num" id="LN4435">4435</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4436"><td class="num" id="LN4436">4436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4437"><td class="num" id="LN4437">4437</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4438"><td class="num" id="LN4438">4438</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4439"><td class="num" id="LN4439">4439</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4440"><td class="num" id="LN4440">4440</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4441"><td class="num" id="LN4441">4441</td><td class="line"> <span class='string_literal'>"hide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4442"><td class="num" id="LN4442">4442</td><td class="line"> <span class='string_literal'>"Hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4443"><td class="num" id="LN4443">4443</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4444"><td class="num" id="LN4444">4444</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4445"><td class="num" id="LN4445">4445</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4446"><td class="num" id="LN4446">4446</td><td class="line"> <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4447"><td class="num" id="LN4447">4447</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4448"><td class="num" id="LN4448">4448</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4449"><td class="num" id="LN4449">4449</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4450"><td class="num" id="LN4450">4450</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4451"><td class="num" id="LN4451">4451</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4452"><td class="num" id="LN4452">4452</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4453"><td class="num" id="LN4453">4453</td><td class="line"> <span class='string_literal'>"unhide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4454"><td class="num" id="LN4454">4454</td><td class="line"> <span class='string_literal'>"Un-hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4455"><td class="num" id="LN4455">4455</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically un-hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4456"><td class="num" id="LN4456">4456</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4457"><td class="num" id="LN4457">4457</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4458"><td class="num" id="LN4458">4458</td><td class="line"> <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4459"><td class="num" id="LN4459">4459</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4460"><td class="num" id="LN4460">4460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4461"><td class="num" id="LN4461">4461</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4462"><td class="num" id="LN4462">4462</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4463"><td class="num" id="LN4463">4463</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4464"><td class="num" id="LN4464">4464</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4465"><td class="num" id="LN4465">4465</td><td class="line"> <span class='string_literal'>"auto-hide-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4466"><td class="num" id="LN4466">4466</td><td class="line"> <span class='string_literal'>"Auto-hide size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4467"><td class="num" id="LN4467">4467</td><td class="line"> <span class='string_literal'>"The number of pixels visible when the panel has been automatically hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4468"><td class="num" id="LN4468">4468</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="4469"><td class="num" id="LN4469">4469</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4470"><td class="num" id="LN4470">4470</td><td class="line"> <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4471"><td class="num" id="LN4471">4471</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4472"><td class="num" id="LN4472">4472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4473"><td class="num" id="LN4473">4473</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4474"><td class="num" id="LN4474">4474</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4475"><td class="num" id="LN4475">4475</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="4476"><td class="num" id="LN4476">4476</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4477"><td class="num" id="LN4477">4477</td><td class="line"> <span class='string_literal'>"animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4478"><td class="num" id="LN4478">4478</td><td class="line"> <span class='string_literal'>"Animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4479"><td class="num" id="LN4479">4479</td><td class="line"> <span class='string_literal'>"Enable hiding/showing animations"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4480"><td class="num" id="LN4480">4480</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4481"><td class="num" id="LN4481">4481</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4482"><td class="num" id="LN4482">4482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4483"><td class="num" id="LN4483">4483</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4484"><td class="num" id="LN4484">4484</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4485"><td class="num" id="LN4485">4485</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="4486"><td class="num" id="LN4486">4486</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4487"><td class="num" id="LN4487">4487</td><td class="line"> <span class='string_literal'>"animation-speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4488"><td class="num" id="LN4488">4488</td><td class="line"> <span class='string_literal'>"Animation Speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4489"><td class="num" id="LN4489">4489</td><td class="line"> <span class='string_literal'>"The speed at which to animate panel hiding/showing"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4490"><td class="num" id="LN4490">4490</td><td class="line"> <span class='macro'>PANEL_TYPE_ANIMATION_SPEED<span class='macro_popup'>panel_animation_speed_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4491"><td class="num" id="LN4491">4491</td><td class="line"> PANEL_ANIMATION_MEDIUM,</td></tr>
+<tr class="codeline" data-linenumber="4492"><td class="num" id="LN4492">4492</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4493"><td class="num" id="LN4493">4493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4494"><td class="num" id="LN4494">4494</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4495"><td class="num" id="LN4495">4495</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4496"><td class="num" id="LN4496">4496</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4497"><td class="num" id="LN4497">4497</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4498"><td class="num" id="LN4498">4498</td><td class="line"> <span class='string_literal'>"buttons-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4499"><td class="num" id="LN4499">4499</td><td class="line"> <span class='string_literal'>"Buttons Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4500"><td class="num" id="LN4500">4500</td><td class="line"> <span class='string_literal'>"Enable hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4501"><td class="num" id="LN4501">4501</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4502"><td class="num" id="LN4502">4502</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4503"><td class="num" id="LN4503">4503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4504"><td class="num" id="LN4504">4504</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4505"><td class="num" id="LN4505">4505</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4506"><td class="num" id="LN4506">4506</td><td class="line"> PROP_ARROWS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4507"><td class="num" id="LN4507">4507</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4508"><td class="num" id="LN4508">4508</td><td class="line"> <span class='string_literal'>"arrows-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4509"><td class="num" id="LN4509">4509</td><td class="line"> <span class='string_literal'>"Arrows Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4510"><td class="num" id="LN4510">4510</td><td class="line"> <span class='string_literal'>"Enable arrows on hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4511"><td class="num" id="LN4511">4511</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4512"><td class="num" id="LN4512">4512</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4513"><td class="num" id="LN4513">4513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4514"><td class="num" id="LN4514">4514</td><td class="line"> gtk_widget_class_install_style_property (</td></tr>
+<tr class="codeline" data-linenumber="4515"><td class="num" id="LN4515">4515</td><td class="line"> widget_class,</td></tr>
+<tr class="codeline" data-linenumber="4516"><td class="num" id="LN4516">4516</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4517"><td class="num" id="LN4517">4517</td><td class="line"> <span class='string_literal'>"arrow-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4518"><td class="num" id="LN4518">4518</td><td class="line"> <span class='string_literal'>"Arrow Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4519"><td class="num" id="LN4519">4519</td><td class="line"> <span class='string_literal'>"The size of the arrows on the hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4520"><td class="num" id="LN4520">4520</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4521"><td class="num" id="LN4521">4521</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4522"><td class="num" id="LN4522">4522</td><td class="line"> <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4523"><td class="num" id="LN4523">4523</td><td class="line"> G_PARAM_READABLE));</td></tr>
+<tr class="codeline" data-linenumber="4524"><td class="num" id="LN4524">4524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4525"><td class="num" id="LN4525">4525</td><td class="line"> toplevel_signals [HIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4526"><td class="num" id="LN4526">4526</td><td class="line"> g_signal_new (<span class='string_literal'>"hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4527"><td class="num" id="LN4527">4527</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4528"><td class="num" id="LN4528">4528</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4529"><td class="num" id="LN4529">4529</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, hiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, hiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4530"><td class="num" id="LN4530">4530</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4531"><td class="num" id="LN4531">4531</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4532"><td class="num" id="LN4532">4532</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4533"><td class="num" id="LN4533">4533</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4534"><td class="num" id="LN4534">4534</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4535"><td class="num" id="LN4535">4535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4536"><td class="num" id="LN4536">4536</td><td class="line"> toplevel_signals [UNHIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4537"><td class="num" id="LN4537">4537</td><td class="line"> g_signal_new (<span class='string_literal'>"unhiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4538"><td class="num" id="LN4538">4538</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4539"><td class="num" id="LN4539">4539</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4540"><td class="num" id="LN4540">4540</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unhiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unhiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4541"><td class="num" id="LN4541">4541</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4542"><td class="num" id="LN4542">4542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4543"><td class="num" id="LN4543">4543</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4544"><td class="num" id="LN4544">4544</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4545"><td class="num" id="LN4545">4545</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4546"><td class="num" id="LN4546">4546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4547"><td class="num" id="LN4547">4547</td><td class="line"> toplevel_signals [POPUP_PANEL_MENU_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4548"><td class="num" id="LN4548">4548</td><td class="line"> g_signal_new (<span class='string_literal'>"popup-panel-menu"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4549"><td class="num" id="LN4549">4549</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4550"><td class="num" id="LN4550">4550</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4551"><td class="num" id="LN4551">4551</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, popup_panel_menu)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, popup_panel_menu<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4552"><td class="num" id="LN4552">4552</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4553"><td class="num" id="LN4553">4553</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4554"><td class="num" id="LN4554">4554</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4555"><td class="num" id="LN4555">4555</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4556"><td class="num" id="LN4556">4556</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4557"><td class="num" id="LN4557">4557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4558"><td class="num" id="LN4558">4558</td><td class="line"> toplevel_signals [TOGGLE_EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4559"><td class="num" id="LN4559">4559</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4560"><td class="num" id="LN4560">4560</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4561"><td class="num" id="LN4561">4561</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4562"><td class="num" id="LN4562">4562</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_expand<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4563"><td class="num" id="LN4563">4563</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4564"><td class="num" id="LN4564">4564</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4565"><td class="num" id="LN4565">4565</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4566"><td class="num" id="LN4566">4566</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4567"><td class="num" id="LN4567">4567</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4568"><td class="num" id="LN4568">4568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4569"><td class="num" id="LN4569">4569</td><td class="line"> toplevel_signals [EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4570"><td class="num" id="LN4570">4570</td><td class="line"> g_signal_new (<span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4571"><td class="num" id="LN4571">4571</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4572"><td class="num" id="LN4572">4572</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4573"><td class="num" id="LN4573">4573</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, expand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4574"><td class="num" id="LN4574">4574</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4575"><td class="num" id="LN4575">4575</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4576"><td class="num" id="LN4576">4576</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4577"><td class="num" id="LN4577">4577</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4578"><td class="num" id="LN4578">4578</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4579"><td class="num" id="LN4579">4579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4580"><td class="num" id="LN4580">4580</td><td class="line"> toplevel_signals [UNEXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4581"><td class="num" id="LN4581">4581</td><td class="line"> g_signal_new (<span class='string_literal'>"unexpand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4582"><td class="num" id="LN4582">4582</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4583"><td class="num" id="LN4583">4583</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4584"><td class="num" id="LN4584">4584</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unexpand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unexpand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4585"><td class="num" id="LN4585">4585</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4586"><td class="num" id="LN4586">4586</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4587"><td class="num" id="LN4587">4587</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4588"><td class="num" id="LN4588">4588</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4589"><td class="num" id="LN4589">4589</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4590"><td class="num" id="LN4590">4590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4591"><td class="num" id="LN4591">4591</td><td class="line"> toplevel_signals [TOGGLE_HIDDEN_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4592"><td class="num" id="LN4592">4592</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4593"><td class="num" id="LN4593">4593</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4594"><td class="num" id="LN4594">4594</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4595"><td class="num" id="LN4595">4595</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_hidden)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_hidden<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4596"><td class="num" id="LN4596">4596</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4597"><td class="num" id="LN4597">4597</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4598"><td class="num" id="LN4598">4598</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4599"><td class="num" id="LN4599">4599</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4600"><td class="num" id="LN4600">4600</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4601"><td class="num" id="LN4601">4601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4602"><td class="num" id="LN4602">4602</td><td class="line"> toplevel_signals [BEGIN_MOVE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4603"><td class="num" id="LN4603">4603</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4604"><td class="num" id="LN4604">4604</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4605"><td class="num" id="LN4605">4605</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4606"><td class="num" id="LN4606">4606</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_move)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_move))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4607"><td class="num" id="LN4607">4607</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4608"><td class="num" id="LN4608">4608</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4609"><td class="num" id="LN4609">4609</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4610"><td class="num" id="LN4610">4610</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4611"><td class="num" id="LN4611">4611</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4612"><td class="num" id="LN4612">4612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4613"><td class="num" id="LN4613">4613</td><td class="line"> toplevel_signals [BEGIN_RESIZE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4614"><td class="num" id="LN4614">4614</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-resize"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4615"><td class="num" id="LN4615">4615</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4616"><td class="num" id="LN4616">4616</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4617"><td class="num" id="LN4617">4617</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_resize)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_resize)<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4618"><td class="num" id="LN4618">4618</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4619"><td class="num" id="LN4619">4619</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4620"><td class="num" id="LN4620">4620</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4621"><td class="num" id="LN4621">4621</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4622"><td class="num" id="LN4622">4622</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4623"><td class="num" id="LN4623">4623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4624"><td class="num" id="LN4624">4624</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_F10<span class='macro_popup'>0xffc7</span></span>, GDK_CONTROL_MASK,</td></tr>
+<tr class="codeline" data-linenumber="4625"><td class="num" id="LN4625">4625</td><td class="line"> <span class='string_literal'>"popup_panel_menu"</span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="4626"><td class="num" id="LN4626">4626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4627"><td class="num" id="LN4627">4627</td><td class="line"> panel_bindings_set_entries (binding_set);</td></tr>
+<tr class="codeline" data-linenumber="4628"><td class="num" id="LN4628">4628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4629"><td class="num" id="LN4629">4629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4630"><td class="num" id="LN4630">4630</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4631"><td class="num" id="LN4631">4631</td><td class="line">panel_toplevel_setup_widgets (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4632"><td class="num" id="LN4632">4632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4633"><td class="num" id="LN4633">4633</td><td class="line"> GtkWidget* container;</td></tr>
+<tr class="codeline" data-linenumber="4634"><td class="num" id="LN4634">4634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4635"><td class="num" id="LN4635">4635</td><td class="line"> toplevel-&gt;priv-&gt;grid = gtk_grid_new ();</td></tr>
+<tr class="codeline" data-linenumber="4636"><td class="num" id="LN4636">4636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4637"><td class="num" id="LN4637">4637</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_UP, 1, 0);</td></tr>
+<tr class="codeline" data-linenumber="4638"><td class="num" id="LN4638">4638</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_DOWN, 1, 2);</td></tr>
+<tr class="codeline" data-linenumber="4639"><td class="num" id="LN4639">4639</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_LEFT, 0, 1);</td></tr>
+<tr class="codeline" data-linenumber="4640"><td class="num" id="LN4640">4640</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_RIGHT, 2, 1);</td></tr>
+<tr class="codeline" data-linenumber="4641"><td class="num" id="LN4641">4641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4642"><td class="num" id="LN4642">4642</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4643"><td class="num" id="LN4643">4643</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4644"><td class="num" id="LN4644">4644</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="4645"><td class="num" id="LN4645">4645</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="4646"><td class="num" id="LN4646">4646</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4647"><td class="num" id="LN4647">4647</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4648"><td class="num" id="LN4648">4648</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4649"><td class="num" id="LN4649">4649</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="4650"><td class="num" id="LN4650">4650</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4651"><td class="num" id="LN4651">4651</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4652"><td class="num" id="LN4652">4652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4653"><td class="num" id="LN4653">4653</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = g_object_new(<span class='macro'>PANEL_TYPE_FRAME<span class='macro_popup'>(panel_frame_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4654"><td class="num" id="LN4654">4654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4655"><td class="num" id="LN4655">4655</td><td class="line"> gtk_widget_set_hexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4656"><td class="num" id="LN4656">4656</td><td class="line"> gtk_widget_set_vexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4657"><td class="num" id="LN4657">4657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4658"><td class="num" id="LN4658">4658</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, <span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, 1, 1, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="4659"><td class="num" id="LN4659">4659</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4660"><td class="num" id="LN4660">4660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4661"><td class="num" id="LN4661">4661</td><td class="line"> container = panel_widget_new (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4662"><td class="num" id="LN4662">4662</td><td class="line"> !toplevel-&gt;priv-&gt;expand,</td></tr>
+<tr class="codeline" data-linenumber="4663"><td class="num" id="LN4663">4663</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="4664"><td class="num" id="LN4664">4664</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="4665"><td class="num" id="LN4665">4665</td><td class="line"> GTK_ORIENTATION_VERTICAL,</td></tr>
+<tr class="codeline" data-linenumber="4666"><td class="num" id="LN4666">4666</td><td class="line"> toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4667"><td class="num" id="LN4667">4667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4668"><td class="num" id="LN4668">4668</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>PANEL_WIDGET(container)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((panel_widget_get_type()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4669"><td class="num" id="LN4669">4669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4670"><td class="num" id="LN4670">4670</td><td class="line"> gtk_container_add(<span class='macro'>GTK_CONTAINER(toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_container_get_type<br> ()))))))</span></span>, container);</td></tr>
+<tr class="codeline" data-linenumber="4671"><td class="num" id="LN4671">4671</td><td class="line"> gtk_widget_show(container);</td></tr>
+<tr class="codeline" data-linenumber="4672"><td class="num" id="LN4672">4672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4673"><td class="num" id="LN4673">4673</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (toplevel)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_container_get_type ()))))))</span></span>, toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4674"><td class="num" id="LN4674">4674</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4675"><td class="num" id="LN4675">4675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4676"><td class="num" id="LN4676">4676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4677"><td class="num" id="LN4677">4677</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4678"><td class="num" id="LN4678">4678</td><td class="line">background_changed (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="4679"><td class="num" id="LN4679">4679</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4680"><td class="num" id="LN4680">4680</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4681"><td class="num" id="LN4681">4681</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4682"><td class="num" id="LN4682">4682</td><td class="line"> panel_widget_emit_background_changed (toplevel-&gt;priv-&gt;panel_widget);</td></tr>
+<tr class="codeline" data-linenumber="4683"><td class="num" id="LN4683">4683</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4684"><td class="num" id="LN4684">4684</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4685"><td class="num" id="LN4685">4685</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4686"><td class="num" id="LN4686">4686</td><td class="line">panel_toplevel_init (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4687"><td class="num" id="LN4687">4687</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4688"><td class="num" id="LN4688">4688</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="4689"><td class="num" id="LN4689">4689</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="4690"><td class="num" id="LN4690">4690</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4691"><td class="num" id="LN4691">4691</td><td class="line"> toplevel-&gt;priv = panel_toplevel_get_instance_private (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4692"><td class="num" id="LN4692">4692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4693"><td class="num" id="LN4693">4693</td><td class="line"> toplevel-&gt;priv-&gt;expand = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4694"><td class="num" id="LN4694">4694</td><td class="line"> toplevel-&gt;priv-&gt;orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="4695"><td class="num" id="LN4695">4695</td><td class="line"> toplevel-&gt;priv-&gt;size = <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4696"><td class="num" id="LN4696">4696</td><td class="line"> toplevel-&gt;priv-&gt;scale = gtk_widget_get_scale_factor (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4697"><td class="num" id="LN4697">4697</td><td class="line"> toplevel-&gt;priv-&gt;x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4698"><td class="num" id="LN4698">4698</td><td class="line"> toplevel-&gt;priv-&gt;y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4699"><td class="num" id="LN4699">4699</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4700"><td class="num" id="LN4700">4700</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4701"><td class="num" id="LN4701">4701</td><td class="line"> toplevel-&gt;priv-&gt;monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="4702"><td class="num" id="LN4702">4702</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = -1;</td></tr>
+<tr class="codeline" data-linenumber="4703"><td class="num" id="LN4703">4703</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4704"><td class="num" id="LN4704">4704</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4705"><td class="num" id="LN4705">4705</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4706"><td class="num" id="LN4706">4706</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = PANEL_ANIMATION_FAST;</td></tr>
+<tr class="codeline" data-linenumber="4707"><td class="num" id="LN4707">4707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4708"><td class="num" id="LN4708">4708</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4709"><td class="num" id="LN4709">4709</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4710"><td class="num" id="LN4710">4710</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4711"><td class="num" id="LN4711">4711</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="4712"><td class="num" id="LN4712">4712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4713"><td class="num" id="LN4713">4713</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4714"><td class="num" id="LN4714">4714</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4715"><td class="num" id="LN4715">4715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4716"><td class="num" id="LN4716">4716</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4717"><td class="num" id="LN4717">4717</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4718"><td class="num" id="LN4718">4718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4719"><td class="num" id="LN4719">4719</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = -1;</td></tr>
+<tr class="codeline" data-linenumber="4720"><td class="num" id="LN4720">4720</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = -1;</td></tr>
+<tr class="codeline" data-linenumber="4721"><td class="num" id="LN4721">4721</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4722"><td class="num" id="LN4722">4722</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4723"><td class="num" id="LN4723">4723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4724"><td class="num" id="LN4724">4724</td><td class="line"> toplevel-&gt;priv-&gt;original_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4725"><td class="num" id="LN4725">4725</td><td class="line"> toplevel-&gt;priv-&gt;original_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4726"><td class="num" id="LN4726">4726</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4727"><td class="num" id="LN4727">4727</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="4728"><td class="num" id="LN4728">4728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4729"><td class="num" id="LN4729">4729</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4730"><td class="num" id="LN4730">4730</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4731"><td class="num" id="LN4731">4731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4732"><td class="num" id="LN4732">4732</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4733"><td class="num" id="LN4733">4733</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4734"><td class="num" id="LN4734">4734</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0;</td></tr>
+<tr class="codeline" data-linenumber="4735"><td class="num" id="LN4735">4735</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0;</td></tr>
+<tr class="codeline" data-linenumber="4736"><td class="num" id="LN4736">4736</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4737"><td class="num" id="LN4737">4737</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4738"><td class="num" id="LN4738">4738</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4739"><td class="num" id="LN4739">4739</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4740"><td class="num" id="LN4740">4740</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4741"><td class="num" id="LN4741">4741</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4742"><td class="num" id="LN4742">4742</td><td class="line"> toplevel-&gt;priv-&gt;grid = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4743"><td class="num" id="LN4743">4743</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4744"><td class="num" id="LN4744">4744</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4745"><td class="num" id="LN4745">4745</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4746"><td class="num" id="LN4746">4746</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4747"><td class="num" id="LN4747">4747</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4748"><td class="num" id="LN4748">4748</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4749"><td class="num" id="LN4749">4749</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4750"><td class="num" id="LN4750">4750</td><td class="line"> toplevel-&gt;priv-&gt;n_autohide_disablers = 0;</td></tr>
+<tr class="codeline" data-linenumber="4751"><td class="num" id="LN4751">4751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4752"><td class="num" id="LN4752">4752</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4753"><td class="num" id="LN4753">4753</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4754"><td class="num" id="LN4754">4754</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4755"><td class="num" id="LN4755">4755</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4756"><td class="num" id="LN4756">4756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4757"><td class="num" id="LN4757">4757</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4758"><td class="num" id="LN4758">4758</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4759"><td class="num" id="LN4759">4759</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4760"><td class="num" id="LN4760">4760</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4761"><td class="num" id="LN4761">4761</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4762"><td class="num" id="LN4762">4762</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4763"><td class="num" id="LN4763">4763</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4764"><td class="num" id="LN4764">4764</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4765"><td class="num" id="LN4765">4765</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4766"><td class="num" id="LN4766">4766</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4767"><td class="num" id="LN4767">4767</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4768"><td class="num" id="LN4768">4768</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4769"><td class="num" id="LN4769">4769</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4770"><td class="num" id="LN4770">4770</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4771"><td class="num" id="LN4771">4771</td><td class="line"> gtk_widget_add_events (widget,</td></tr>
+<tr class="codeline" data-linenumber="4772"><td class="num" id="LN4772">4772</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4773"><td class="num" id="LN4773">4773</td><td class="line"> GDK_BUTTON_RELEASE_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4774"><td class="num" id="LN4774">4774</td><td class="line"> GDK_POINTER_MOTION_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4775"><td class="num" id="LN4775">4775</td><td class="line"> GDK_ENTER_NOTIFY_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4776"><td class="num" id="LN4776">4776</td><td class="line"> GDK_LEAVE_NOTIFY_MASK);</td></tr>
+<tr class="codeline" data-linenumber="4777"><td class="num" id="LN4777">4777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4778"><td class="num" id="LN4778">4778</td><td class="line"> gtk_widget_set_app_paintable (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4779"><td class="num" id="LN4779">4779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4780"><td class="num" id="LN4780">4780</td><td class="line"> panel_toplevel_setup_widgets (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4781"><td class="num" id="LN4781">4781</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4782"><td class="num" id="LN4782">4782</td><td class="line"> panel_toplevel_update_gtk_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4783"><td class="num" id="LN4783">4783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4784"><td class="num" id="LN4784">4784</td><td class="line"> toplevel_list = g_slist_prepend (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4785"><td class="num" id="LN4785">4785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4786"><td class="num" id="LN4786">4786</td><td class="line"> <span class='comment'>/* Prevent the window from being deleted via Alt+F4 by accident. This</span></td></tr>
+<tr class="codeline" data-linenumber="4787"><td class="num" id="LN4787">4787</td><td class="line"> <span class='comment'>* happens with "alternative" window managers such as Sawfish or XFWM4.</span></td></tr>
+<tr class="codeline" data-linenumber="4788"><td class="num" id="LN4788">4788</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="4789"><td class="num" id="LN4789">4789</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"delete-event"</span>, G_CALLBACK(gtk_true), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("delete-event"), (((GCallback<br>) (gtk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4790"><td class="num" id="LN4790">4790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4791"><td class="num" id="LN4791">4791</td><td class="line"> panel_background_init (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="4792"><td class="num" id="LN4792">4792</td><td class="line"> (PanelBackgroundChangedNotify) background_changed,</td></tr>
+<tr class="codeline" data-linenumber="4793"><td class="num" id="LN4793">4793</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4794"><td class="num" id="LN4794">4794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4795"><td class="num" id="LN4795">4795</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4796"><td class="num" id="LN4796">4796</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4797"><td class="num" id="LN4797">4797</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4798"><td class="num" id="LN4798">4798</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="4799"><td class="num" id="LN4799">4799</td><td class="line"> wayland_panel_toplevel_init (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4800"><td class="num" id="LN4800">4800</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4801"><td class="num" id="LN4801">4801</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="4802"><td class="num" id="LN4802">4802</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4803"><td class="num" id="LN4803">4803</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4804"><td class="num" id="LN4804">4804</td><td class="line">PanelWidget *</td></tr>
+<tr class="codeline" data-linenumber="4805"><td class="num" id="LN4805">4805</td><td class="line">panel_toplevel_get_panel_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4806"><td class="num" id="LN4806">4806</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4807"><td class="num" id="LN4807">4807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4808"><td class="num" id="LN4808">4808</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4809"><td class="num" id="LN4809">4809</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4810"><td class="num" id="LN4810">4810</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="4811"><td class="num" id="LN4811">4811</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4812"><td class="num" id="LN4812">4812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4813"><td class="num" id="LN4813">4813</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4814"><td class="num" id="LN4814">4814</td><td class="line">panel_toplevel_update_name (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4815"><td class="num" id="LN4815">4815</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4816"><td class="num" id="LN4816">4816</td><td class="line"> <span class='keyword'>char</span> *title;</td></tr>
+<tr class="codeline" data-linenumber="4817"><td class="num" id="LN4817">4817</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4818"><td class="num" id="LN4818">4818</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;description != NULL)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;description != ((void*)0)) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 4818<br>, ((const char*) (__func__)), "toplevel-&gt;priv-&gt;description != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4819"><td class="num" id="LN4819">4819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4820"><td class="num" id="LN4820">4820</td><td class="line"> title = toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name : toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4821"><td class="num" id="LN4821">4821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4822"><td class="num" id="LN4822">4822</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>, title);</td></tr>
+<tr class="codeline" data-linenumber="4823"><td class="num" id="LN4823">4823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4824"><td class="num" id="LN4824">4824</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="4825"><td class="num" id="LN4825">4825</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4826"><td class="num" id="LN4826">4826</td><td class="line"> title, toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="4827"><td class="num" id="LN4827">4827</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4828"><td class="num" id="LN4828">4828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4829"><td class="num" id="LN4829">4829</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4830"><td class="num" id="LN4830">4830</td><td class="line">panel_toplevel_set_name (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4831"><td class="num" id="LN4831">4831</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name)</td></tr>
+<tr class="codeline" data-linenumber="4832"><td class="num" id="LN4832">4832</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4833"><td class="num" id="LN4833">4833</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4834"><td class="num" id="LN4834">4834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4835"><td class="num" id="LN4835">4835</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name &amp;&amp; (!name || !name [0]))</td></tr>
+<tr class="codeline" data-linenumber="4836"><td class="num" id="LN4836">4836</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4837"><td class="num" id="LN4837">4837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4838"><td class="num" id="LN4838">4838</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;name &amp;&amp; name &amp;&amp; name [0] &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4839"><td class="num" id="LN4839">4839</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;name, name))</td></tr>
+<tr class="codeline" data-linenumber="4840"><td class="num" id="LN4840">4840</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4841"><td class="num" id="LN4841">4841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4842"><td class="num" id="LN4842">4842</td><td class="line"> g_free (toplevel-&gt;priv-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="4843"><td class="num" id="LN4843">4843</td><td class="line"> <span class='keyword'>if</span> (name &amp;&amp; name [0])</td></tr>
+<tr class="codeline" data-linenumber="4844"><td class="num" id="LN4844">4844</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>g_strdup (name)<span class='macro_popup'>g_strdup_inline (name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4845"><td class="num" id="LN4845">4845</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4846"><td class="num" id="LN4846">4846</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4847"><td class="num" id="LN4847">4847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4848"><td class="num" id="LN4848">4848</td><td class="line"> panel_toplevel_update_name (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4849"><td class="num" id="LN4849">4849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4850"><td class="num" id="LN4850">4850</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4851"><td class="num" id="LN4851">4851</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4852"><td class="num" id="LN4852">4852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4853"><td class="num" id="LN4853">4853</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4854"><td class="num" id="LN4854">4854</td><td class="line">panel_toplevel_set_settings_path (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4855"><td class="num" id="LN4855">4855</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *settings_path)</td></tr>
+<tr class="codeline" data-linenumber="4856"><td class="num" id="LN4856">4856</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4857"><td class="num" id="LN4857">4857</td><td class="line"> toplevel-&gt;priv-&gt;settings_path = <span class='macro'>g_strdup (settings_path)<span class='macro_popup'>g_strdup_inline (settings_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4858"><td class="num" id="LN4858">4858</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4859"><td class="num" id="LN4859">4859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4860"><td class="num" id="LN4860">4860</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_name(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4861"><td class="num" id="LN4861">4861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4862"><td class="num" id="LN4862">4862</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4863"><td class="num" id="LN4863">4863</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4864"><td class="num" id="LN4864">4864</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;name;</td></tr>
+<tr class="codeline" data-linenumber="4865"><td class="num" id="LN4865">4865</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4866"><td class="num" id="LN4866">4866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4867"><td class="num" id="LN4867">4867</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4868"><td class="num" id="LN4868">4868</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4869"><td class="num" id="LN4869">4869</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4870"><td class="num" id="LN4870">4870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4871"><td class="num" id="LN4871">4871</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4872"><td class="num" id="LN4872">4872</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4873"><td class="num" id="LN4873">4873</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4874"><td class="num" id="LN4874">4874</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4875"><td class="num" id="LN4875">4875</td><td class="line">panel_toplevel_set_expand (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4876"><td class="num" id="LN4876">4876</td><td class="line"> gboolean expand)</td></tr>
+<tr class="codeline" data-linenumber="4877"><td class="num" id="LN4877">4877</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4878"><td class="num" id="LN4878">4878</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4879"><td class="num" id="LN4879">4879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4880"><td class="num" id="LN4880">4880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; expand) {</td></tr>
+<tr class="codeline" data-linenumber="4881"><td class="num" id="LN4881">4881</td><td class="line"> g_warning (<span class='string_literal'>"attempt to expand attached toplevel; ignoring"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4882"><td class="num" id="LN4882">4882</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4883"><td class="num" id="LN4883">4883</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4884"><td class="num" id="LN4884">4884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4885"><td class="num" id="LN4885">4885</td><td class="line"> expand = expand != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4886"><td class="num" id="LN4886">4886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4887"><td class="num" id="LN4887">4887</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand == expand)</td></tr>
+<tr class="codeline" data-linenumber="4888"><td class="num" id="LN4888">4888</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4889"><td class="num" id="LN4889">4889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4890"><td class="num" id="LN4890">4890</td><td class="line"> toplevel-&gt;priv-&gt;expand = expand;</td></tr>
+<tr class="codeline" data-linenumber="4891"><td class="num" id="LN4891">4891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4892"><td class="num" id="LN4892">4892</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp; toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4893"><td class="num" id="LN4893">4893</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="4894"><td class="num" id="LN4894">4894</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="4895"><td class="num" id="LN4895">4895</td><td class="line"> panel_toplevel_set_x (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4896"><td class="num" id="LN4896">4896</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4897"><td class="num" id="LN4897">4897</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4898"><td class="num" id="LN4898">4898</td><td class="line"> panel_toplevel_set_x (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4899"><td class="num" id="LN4899">4899</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4900"><td class="num" id="LN4900">4900</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="4901"><td class="num" id="LN4901">4901</td><td class="line"> panel_toplevel_set_y (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4902"><td class="num" id="LN4902">4902</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4903"><td class="num" id="LN4903">4903</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4904"><td class="num" id="LN4904">4904</td><td class="line"> panel_toplevel_set_y (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4905"><td class="num" id="LN4905">4905</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4906"><td class="num" id="LN4906">4906</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4907"><td class="num" id="LN4907">4907</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 4907, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4908"><td class="num" id="LN4908">4908</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4909"><td class="num" id="LN4909">4909</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4910"><td class="num" id="LN4910">4910</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4911"><td class="num" id="LN4911">4911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4912"><td class="num" id="LN4912">4912</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4913"><td class="num" id="LN4913">4913</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4914"><td class="num" id="LN4914">4914</td><td class="line"> panel_widget_set_packed (toplevel-&gt;priv-&gt;panel_widget, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4915"><td class="num" id="LN4915">4915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4916"><td class="num" id="LN4916">4916</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"expand"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4917"><td class="num" id="LN4917">4917</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4918"><td class="num" id="LN4918">4918</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4919"><td class="num" id="LN4919">4919</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4920"><td class="num" id="LN4920">4920</td><td class="line">panel_toplevel_get_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4921"><td class="num" id="LN4921">4921</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4922"><td class="num" id="LN4922">4922</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4923"><td class="num" id="LN4923">4923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4924"><td class="num" id="LN4924">4924</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;expand;</td></tr>
+<tr class="codeline" data-linenumber="4925"><td class="num" id="LN4925">4925</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4926"><td class="num" id="LN4926">4926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4927"><td class="num" id="LN4927">4927</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4928"><td class="num" id="LN4928">4928</td><td class="line">panel_toplevel_get_is_floating (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4929"><td class="num" id="LN4929">4929</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4930"><td class="num" id="LN4930">4930</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4931"><td class="num" id="LN4931">4931</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4932"><td class="num" id="LN4932">4932</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;floating;</td></tr>
+<tr class="codeline" data-linenumber="4933"><td class="num" id="LN4933">4933</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4934"><td class="num" id="LN4934">4934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4935"><td class="num" id="LN4935">4935</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4936"><td class="num" id="LN4936">4936</td><td class="line">panel_toplevel_set_orientation (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4937"><td class="num" id="LN4937">4937</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="4938"><td class="num" id="LN4938">4938</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4939"><td class="num" id="LN4939">4939</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="4940"><td class="num" id="LN4940">4940</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="4941"><td class="num" id="LN4941">4941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4942"><td class="num" id="LN4942">4942</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4943"><td class="num" id="LN4943">4943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4944"><td class="num" id="LN4944">4944</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation == orientation)</td></tr>
+<tr class="codeline" data-linenumber="4945"><td class="num" id="LN4945">4945</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4946"><td class="num" id="LN4946">4946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4947"><td class="num" id="LN4947">4947</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4948"><td class="num" id="LN4948">4948</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4949"><td class="num" id="LN4949">4949</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="4950"><td class="num" id="LN4950">4950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4951"><td class="num" id="LN4951">4951</td><td class="line"> <span class='comment'>/* Un-snap from center if no longer along screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="4952"><td class="num" id="LN4952">4952</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4953"><td class="num" id="LN4953">4953</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4954"><td class="num" id="LN4954">4954</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4955"><td class="num" id="LN4955">4955</td><td class="line"> toplevel-&gt;priv-&gt;x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4956"><td class="num" id="LN4956">4956</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4957"><td class="num" id="LN4957">4957</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4958"><td class="num" id="LN4958">4958</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4959"><td class="num" id="LN4959">4959</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4960"><td class="num" id="LN4960">4960</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4961"><td class="num" id="LN4961">4961</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4962"><td class="num" id="LN4962">4962</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4963"><td class="num" id="LN4963">4963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4964"><td class="num" id="LN4964">4964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4965"><td class="num" id="LN4965">4965</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4966"><td class="num" id="LN4966">4966</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4967"><td class="num" id="LN4967">4967</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4968"><td class="num" id="LN4968">4968</td><td class="line"> toplevel-&gt;priv-&gt;y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4969"><td class="num" id="LN4969">4969</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4970"><td class="num" id="LN4970">4970</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4971"><td class="num" id="LN4971">4971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4972"><td class="num" id="LN4972">4972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4973"><td class="num" id="LN4973">4973</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4974"><td class="num" id="LN4974">4974</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4975"><td class="num" id="LN4975">4975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4976"><td class="num" id="LN4976">4976</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4977"><td class="num" id="LN4977">4977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4978"><td class="num" id="LN4978">4978</td><td class="line"> rotate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4979"><td class="num" id="LN4979">4979</td><td class="line"> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4980"><td class="num" id="LN4980">4980</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4981"><td class="num" id="LN4981">4981</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4982"><td class="num" id="LN4982">4982</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4983"><td class="num" id="LN4983">4983</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4984"><td class="num" id="LN4984">4984</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4985"><td class="num" id="LN4985">4985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4986"><td class="num" id="LN4986">4986</td><td class="line"> <span class='comment'>/* rotate around the center */</span></td></tr>
+<tr class="codeline" data-linenumber="4987"><td class="num" id="LN4987">4987</td><td class="line"> <span class='keyword'>if</span> (rotate &amp;&amp; !toplevel-&gt;priv-&gt;position_centered &amp;&amp; !toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4988"><td class="num" id="LN4988">4988</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4989"><td class="num" id="LN4989">4989</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4990"><td class="num" id="LN4990">4990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4991"><td class="num" id="LN4991">4991</td><td class="line"> <span class='comment'>/* x, y temporary refer to the panel center, so we don't care</span></td></tr>
+<tr class="codeline" data-linenumber="4992"><td class="num" id="LN4992">4992</td><td class="line"> <span class='comment'>* about x_right, y_bottom. Those will get updated in</span></td></tr>
+<tr class="codeline" data-linenumber="4993"><td class="num" id="LN4993">4993</td><td class="line"> <span class='comment'>* panel_toplevel_update_position() accordingly. */</span></td></tr>
+<tr class="codeline" data-linenumber="4994"><td class="num" id="LN4994">4994</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="4995"><td class="num" id="LN4995">4995</td><td class="line"> toplevel-&gt;priv-&gt;x += toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="4996"><td class="num" id="LN4996">4996</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4997"><td class="num" id="LN4997">4997</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4998"><td class="num" id="LN4998">4998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4999"><td class="num" id="LN4999">4999</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5000"><td class="num" id="LN5000">5000</td><td class="line"> toplevel-&gt;priv-&gt;y += toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="5001"><td class="num" id="LN5001">5001</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5002"><td class="num" id="LN5002">5002</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5003"><td class="num" id="LN5003">5003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5004"><td class="num" id="LN5004">5004</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5005"><td class="num" id="LN5005">5005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5006"><td class="num" id="LN5006">5006</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="5007"><td class="num" id="LN5007">5007</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5008"><td class="num" id="LN5008">5008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5009"><td class="num" id="LN5009">5009</td><td class="line"> gtk_widget_reset_style (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5010"><td class="num" id="LN5010">5010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5011"><td class="num" id="LN5011">5011</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5012"><td class="num" id="LN5012">5012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5013"><td class="num" id="LN5013">5013</td><td class="line"> panel_widget_set_orientation (</td></tr>
+<tr class="codeline" data-linenumber="5014"><td class="num" id="LN5014">5014</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="5015"><td class="num" id="LN5015">5015</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="5016"><td class="num" id="LN5016">5016</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="5017"><td class="num" id="LN5017">5017</td><td class="line"> GTK_ORIENTATION_VERTICAL);</td></tr>
+<tr class="codeline" data-linenumber="5018"><td class="num" id="LN5018">5018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5019"><td class="num" id="LN5019">5019</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="5020"><td class="num" id="LN5020">5020</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="5021"><td class="num" id="LN5021">5021</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5022"><td class="num" id="LN5022">5022</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5023"><td class="num" id="LN5023">5023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5024"><td class="num" id="LN5024">5024</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="5025"><td class="num" id="LN5025">5025</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5026"><td class="num" id="LN5026">5026</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="5027"><td class="num" id="LN5027">5027</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5028"><td class="num" id="LN5028">5028</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="5029"><td class="num" id="LN5029">5029</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5030"><td class="num" id="LN5030">5030</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="5031"><td class="num" id="LN5031">5031</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5032"><td class="num" id="LN5032">5032</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="5033"><td class="num" id="LN5033">5033</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5034"><td class="num" id="LN5034">5034</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="5035"><td class="num" id="LN5035">5035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5036"><td class="num" id="LN5036">5036</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="5037"><td class="num" id="LN5037">5037</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5038"><td class="num" id="LN5038">5038</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5039"><td class="num" id="LN5039">5039</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5040"><td class="num" id="LN5040">5040</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5041"><td class="num" id="LN5041">5041</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5042"><td class="num" id="LN5042">5042</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5043"><td class="num" id="LN5043">5043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5044"><td class="num" id="LN5044">5044</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5045"><td class="num" id="LN5045">5045</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5046"><td class="num" id="LN5046">5046</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="5047"><td class="num" id="LN5047">5047</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="5048"><td class="num" id="LN5048">5048</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5049"><td class="num" id="LN5049">5049</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5050"><td class="num" id="LN5050">5050</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="5051"><td class="num" id="LN5051">5051</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5052"><td class="num" id="LN5052">5052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5053"><td class="num" id="LN5053">5053</td><td class="line">PanelOrientation</td></tr>
+<tr class="codeline" data-linenumber="5054"><td class="num" id="LN5054">5054</td><td class="line">panel_toplevel_get_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5055"><td class="num" id="LN5055">5055</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5056"><td class="num" id="LN5056">5056</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), PANEL_ORIENTATION_TOP)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (PANEL_ORIENTATION_TOP<br>); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5057"><td class="num" id="LN5057">5057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5058"><td class="num" id="LN5058">5058</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5059"><td class="num" id="LN5059">5059</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5060"><td class="num" id="LN5060">5060</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5061"><td class="num" id="LN5061">5061</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5062"><td class="num" id="LN5062">5062</td><td class="line">panel_toplevel_set_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5063"><td class="num" id="LN5063">5063</td><td class="line"> <span class='keyword'>int</span> size)</td></tr>
+<tr class="codeline" data-linenumber="5064"><td class="num" id="LN5064">5064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5065"><td class="num" id="LN5065">5065</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5066"><td class="num" id="LN5066">5066</td><td class="line"> <span class='macro'>g_return_if_fail (size &gt;= 0)<span class='macro_popup'>do { if ((size &gt;= 0)) { } else { g_return_if_fail_warning (<br>((gchar*) 0), ((const char*) (__func__)), "size &gt;= 0"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5067"><td class="num" id="LN5067">5067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5068"><td class="num" id="LN5068">5068</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="5069"><td class="num" id="LN5069">5069</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5070"><td class="num" id="LN5070">5070</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5071"><td class="num" id="LN5071">5071</td><td class="line"> toplevel-&gt;priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="5072"><td class="num" id="LN5072">5072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5073"><td class="num" id="LN5073">5073</td><td class="line"> panel_widget_set_size (toplevel-&gt;priv-&gt;panel_widget, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="5074"><td class="num" id="LN5074">5074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5075"><td class="num" id="LN5075">5075</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5076"><td class="num" id="LN5076">5076</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5077"><td class="num" id="LN5077">5077</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5078"><td class="num" id="LN5078">5078</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5079"><td class="num" id="LN5079">5079</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5080"><td class="num" id="LN5080">5080</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5081"><td class="num" id="LN5081">5081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5082"><td class="num" id="LN5082">5082</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5083"><td class="num" id="LN5083">5083</td><td class="line">panel_toplevel_get_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5084"><td class="num" id="LN5084">5084</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5085"><td class="num" id="LN5085">5085</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (48); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5086"><td class="num" id="LN5086">5086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5087"><td class="num" id="LN5087">5087</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="5088"><td class="num" id="LN5088">5088</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5089"><td class="num" id="LN5089">5089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5090"><td class="num" id="LN5090">5090</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5091"><td class="num" id="LN5091">5091</td><td class="line">panel_toplevel_set_auto_hide_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5092"><td class="num" id="LN5092">5092</td><td class="line"> <span class='keyword'>int</span> auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5093"><td class="num" id="LN5093">5093</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5094"><td class="num" id="LN5094">5094</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5095"><td class="num" id="LN5095">5095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5096"><td class="num" id="LN5096">5096</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide_size == auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5097"><td class="num" id="LN5097">5097</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5098"><td class="num" id="LN5098">5098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5099"><td class="num" id="LN5099">5099</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5100"><td class="num" id="LN5100">5100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5101"><td class="num" id="LN5101">5101</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="5102"><td class="num" id="LN5102">5102</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="5103"><td class="num" id="LN5103">5103</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate) {</td></tr>
+<tr class="codeline" data-linenumber="5104"><td class="num" id="LN5104">5104</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5105"><td class="num" id="LN5105">5105</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="5106"><td class="num" id="LN5106">5106</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5107"><td class="num" id="LN5107">5107</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5108"><td class="num" id="LN5108">5108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5109"><td class="num" id="LN5109">5109</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5110"><td class="num" id="LN5110">5110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5111"><td class="num" id="LN5111">5111</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide-size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5112"><td class="num" id="LN5112">5112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5113"><td class="num" id="LN5113">5113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5114"><td class="num" id="LN5114">5114</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5115"><td class="num" id="LN5115">5115</td><td class="line">panel_toplevel_get_auto_hide_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5116"><td class="num" id="LN5116">5116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5117"><td class="num" id="LN5117">5117</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_AUTO_HIDE_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5118"><td class="num" id="LN5118">5118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5119"><td class="num" id="LN5119">5119</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5120"><td class="num" id="LN5120">5120</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5121"><td class="num" id="LN5121">5121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5122"><td class="num" id="LN5122">5122</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5123"><td class="num" id="LN5123">5123</td><td class="line">panel_toplevel_set_x (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5124"><td class="num" id="LN5124">5124</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="5125"><td class="num" id="LN5125">5125</td><td class="line"> <span class='keyword'>int</span> x_right,</td></tr>
+<tr class="codeline" data-linenumber="5126"><td class="num" id="LN5126">5126</td><td class="line"> gboolean x_centered)</td></tr>
+<tr class="codeline" data-linenumber="5127"><td class="num" id="LN5127">5127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5128"><td class="num" id="LN5128">5128</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5129"><td class="num" id="LN5129">5129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5130"><td class="num" id="LN5130">5130</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5131"><td class="num" id="LN5131">5131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5132"><td class="num" id="LN5132">5132</td><td class="line"> x_centered = x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5133"><td class="num" id="LN5133">5133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5134"><td class="num" id="LN5134">5134</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5135"><td class="num" id="LN5135">5135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5136"><td class="num" id="LN5136">5136</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="5137"><td class="num" id="LN5137">5137</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="5138"><td class="num" id="LN5138">5138</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5139"><td class="num" id="LN5139">5139</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5140"><td class="num" id="LN5140">5140</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5141"><td class="num" id="LN5141">5141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5142"><td class="num" id="LN5142">5142</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="5143"><td class="num" id="LN5143">5143</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="5144"><td class="num" id="LN5144">5144</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5145"><td class="num" id="LN5145">5145</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5146"><td class="num" id="LN5146">5146</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5147"><td class="num" id="LN5147">5147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5148"><td class="num" id="LN5148">5148</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered != x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5149"><td class="num" id="LN5149">5149</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = (x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5150"><td class="num" id="LN5150">5150</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5151"><td class="num" id="LN5151">5151</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5152"><td class="num" id="LN5152">5152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5153"><td class="num" id="LN5153">5153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5154"><td class="num" id="LN5154">5154</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5155"><td class="num" id="LN5155">5155</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5156"><td class="num" id="LN5156">5156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5157"><td class="num" id="LN5157">5157</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5158"><td class="num" id="LN5158">5158</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5159"><td class="num" id="LN5159">5159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5160"><td class="num" id="LN5160">5160</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5161"><td class="num" id="LN5161">5161</td><td class="line">panel_toplevel_set_y (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5162"><td class="num" id="LN5162">5162</td><td class="line"> <span class='keyword'>int</span> y,</td></tr>
+<tr class="codeline" data-linenumber="5163"><td class="num" id="LN5163">5163</td><td class="line"> <span class='keyword'>int</span> y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="5164"><td class="num" id="LN5164">5164</td><td class="line"> gboolean y_centered)</td></tr>
+<tr class="codeline" data-linenumber="5165"><td class="num" id="LN5165">5165</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5166"><td class="num" id="LN5166">5166</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5167"><td class="num" id="LN5167">5167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5168"><td class="num" id="LN5168">5168</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5169"><td class="num" id="LN5169">5169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5170"><td class="num" id="LN5170">5170</td><td class="line"> y_centered = y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5171"><td class="num" id="LN5171">5171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5172"><td class="num" id="LN5172">5172</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5173"><td class="num" id="LN5173">5173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5174"><td class="num" id="LN5174">5174</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="5175"><td class="num" id="LN5175">5175</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="5176"><td class="num" id="LN5176">5176</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5177"><td class="num" id="LN5177">5177</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5178"><td class="num" id="LN5178">5178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5179"><td class="num" id="LN5179">5179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5180"><td class="num" id="LN5180">5180</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="5181"><td class="num" id="LN5181">5181</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5182"><td class="num" id="LN5182">5182</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5183"><td class="num" id="LN5183">5183</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5184"><td class="num" id="LN5184">5184</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5185"><td class="num" id="LN5185">5185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5186"><td class="num" id="LN5186">5186</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered != y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5187"><td class="num" id="LN5187">5187</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = (y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5188"><td class="num" id="LN5188">5188</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5189"><td class="num" id="LN5189">5189</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5190"><td class="num" id="LN5190">5190</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5191"><td class="num" id="LN5191">5191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5192"><td class="num" id="LN5192">5192</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5193"><td class="num" id="LN5193">5193</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5194"><td class="num" id="LN5194">5194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5195"><td class="num" id="LN5195">5195</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5196"><td class="num" id="LN5196">5196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5197"><td class="num" id="LN5197">5197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5198"><td class="num" id="LN5198">5198</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5199"><td class="num" id="LN5199">5199</td><td class="line">panel_toplevel_get_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5200"><td class="num" id="LN5200">5200</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="5201"><td class="num" id="LN5201">5201</td><td class="line"> <span class='keyword'>int</span> *x_right,</td></tr>
+<tr class="codeline" data-linenumber="5202"><td class="num" id="LN5202">5202</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="5203"><td class="num" id="LN5203">5203</td><td class="line"> <span class='keyword'>int</span> *y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5204"><td class="num" id="LN5204">5204</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5205"><td class="num" id="LN5205">5205</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5206"><td class="num" id="LN5206">5206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5207"><td class="num" id="LN5207">5207</td><td class="line"> <span class='keyword'>if</span> (x)</td></tr>
+<tr class="codeline" data-linenumber="5208"><td class="num" id="LN5208">5208</td><td class="line"> *x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="5209"><td class="num" id="LN5209">5209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5210"><td class="num" id="LN5210">5210</td><td class="line"> <span class='keyword'>if</span> (y)</td></tr>
+<tr class="codeline" data-linenumber="5211"><td class="num" id="LN5211">5211</td><td class="line"> *y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="5212"><td class="num" id="LN5212">5212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5213"><td class="num" id="LN5213">5213</td><td class="line"> <span class='keyword'>if</span> (x_right)</td></tr>
+<tr class="codeline" data-linenumber="5214"><td class="num" id="LN5214">5214</td><td class="line"> *x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="5215"><td class="num" id="LN5215">5215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5216"><td class="num" id="LN5216">5216</td><td class="line"> <span class='keyword'>if</span> (y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5217"><td class="num" id="LN5217">5217</td><td class="line"> *y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5218"><td class="num" id="LN5218">5218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5219"><td class="num" id="LN5219">5219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5220"><td class="num" id="LN5220">5220</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5221"><td class="num" id="LN5221">5221</td><td class="line">panel_toplevel_get_x_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5222"><td class="num" id="LN5222">5222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5223"><td class="num" id="LN5223">5223</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5224"><td class="num" id="LN5224">5224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5225"><td class="num" id="LN5225">5225</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="5226"><td class="num" id="LN5226">5226</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5227"><td class="num" id="LN5227">5227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5228"><td class="num" id="LN5228">5228</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5229"><td class="num" id="LN5229">5229</td><td class="line">panel_toplevel_get_y_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5230"><td class="num" id="LN5230">5230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5231"><td class="num" id="LN5231">5231</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5232"><td class="num" id="LN5232">5232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5233"><td class="num" id="LN5233">5233</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="5234"><td class="num" id="LN5234">5234</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5235"><td class="num" id="LN5235">5235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5236"><td class="num" id="LN5236">5236</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5237"><td class="num" id="LN5237">5237</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal:</span></td></tr>
+<tr class="codeline" data-linenumber="5238"><td class="num" id="LN5238">5238</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5239"><td class="num" id="LN5239">5239</td><td class="line"> <span class='comment'>* Sets the monitor of the toplevel, but only the internal state. We need to</span></td></tr>
+<tr class="codeline" data-linenumber="5240"><td class="num" id="LN5240">5240</td><td class="line"> <span class='comment'>* make the difference between the internal state and the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5241"><td class="num" id="LN5241">5241</td><td class="line"> <span class='comment'>* user because internal constraints might affect the monitor of the toplevel.</span></td></tr>
+<tr class="codeline" data-linenumber="5242"><td class="num" id="LN5242">5242</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5243"><td class="num" id="LN5243">5243</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal() won't update the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5244"><td class="num" id="LN5244">5244</td><td class="line"> <span class='comment'>* user.</span></td></tr>
+<tr class="codeline" data-linenumber="5245"><td class="num" id="LN5245">5245</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5246"><td class="num" id="LN5246">5246</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5247"><td class="num" id="LN5247">5247</td><td class="line">panel_toplevel_set_monitor_internal (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5248"><td class="num" id="LN5248">5248</td><td class="line"> <span class='keyword'>int</span> monitor,</td></tr>
+<tr class="codeline" data-linenumber="5249"><td class="num" id="LN5249">5249</td><td class="line"> gboolean force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5250"><td class="num" id="LN5250">5250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5251"><td class="num" id="LN5251">5251</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5252"><td class="num" id="LN5252">5252</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5253"><td class="num" id="LN5253">5253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5254"><td class="num" id="LN5254">5254</td><td class="line"> toplevel-&gt;priv-&gt;monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5255"><td class="num" id="LN5255">5255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5256"><td class="num" id="LN5256">5256</td><td class="line"> <span class='keyword'>if</span> (force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5257"><td class="num" id="LN5257">5257</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5258"><td class="num" id="LN5258">5258</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5259"><td class="num" id="LN5259">5259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5260"><td class="num" id="LN5260">5260</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5261"><td class="num" id="LN5261">5261</td><td class="line"> <span class='comment'>* panel_toplevel_update_monitor:</span></td></tr>
+<tr class="codeline" data-linenumber="5262"><td class="num" id="LN5262">5262</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5263"><td class="num" id="LN5263">5263</td><td class="line"> <span class='comment'>* Moves the toplevel to its configured monitor or the first one, if needed.</span></td></tr>
+<tr class="codeline" data-linenumber="5264"><td class="num" id="LN5264">5264</td><td class="line"> <span class='comment'>* This generally happens when the configured monitor was non-existing before,</span></td></tr>
+<tr class="codeline" data-linenumber="5265"><td class="num" id="LN5265">5265</td><td class="line"> <span class='comment'>* and it appeared at runtime, or if it was existing and disappeared.</span></td></tr>
+<tr class="codeline" data-linenumber="5266"><td class="num" id="LN5266">5266</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5267"><td class="num" id="LN5267">5267</td><td class="line"> <span class='comment'>* This must only be called at the beginning of the size request of the</span></td></tr>
+<tr class="codeline" data-linenumber="5268"><td class="num" id="LN5268">5268</td><td class="line"> <span class='comment'>* toplevel because it doesn't queue a size request.</span></td></tr>
+<tr class="codeline" data-linenumber="5269"><td class="num" id="LN5269">5269</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5270"><td class="num" id="LN5270">5270</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5271"><td class="num" id="LN5271">5271</td><td class="line">panel_toplevel_update_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5272"><td class="num" id="LN5272">5272</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5273"><td class="num" id="LN5273">5273</td><td class="line"> <span class='comment'>/* If we were not using the configured monitor, can we use it now? */</span></td></tr>
+<tr class="codeline" data-linenumber="5274"><td class="num" id="LN5274">5274</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;configured_monitor != -1) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5275"><td class="num" id="LN5275">5275</td><td class="line"> (toplevel-&gt;priv-&gt;configured_monitor != toplevel-&gt;priv-&gt;monitor) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5276"><td class="num" id="LN5276">5276</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor &lt; panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5277"><td class="num" id="LN5277">5277</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5278"><td class="num" id="LN5278">5278</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor,</td></tr>
+<tr class="codeline" data-linenumber="5279"><td class="num" id="LN5279">5279</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5280"><td class="num" id="LN5280">5280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5281"><td class="num" id="LN5281">5281</td><td class="line"> <span class='comment'>/* else, can we still use the monitor we were using? */</span></td></tr>
+<tr class="codeline" data-linenumber="5282"><td class="num" id="LN5282">5282</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor &gt;= panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5283"><td class="num" id="LN5283">5283</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5284"><td class="num" id="LN5284">5284</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="5285"><td class="num" id="LN5285">5285</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5286"><td class="num" id="LN5286">5286</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5287"><td class="num" id="LN5287">5287</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5288"><td class="num" id="LN5288">5288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5289"><td class="num" id="LN5289">5289</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5290"><td class="num" id="LN5290">5290</td><td class="line">panel_toplevel_set_monitor (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5291"><td class="num" id="LN5291">5291</td><td class="line"> <span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="5292"><td class="num" id="LN5292">5292</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5293"><td class="num" id="LN5293">5293</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5294"><td class="num" id="LN5294">5294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5295"><td class="num" id="LN5295">5295</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;configured_monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5296"><td class="num" id="LN5296">5296</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5297"><td class="num" id="LN5297">5297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5298"><td class="num" id="LN5298">5298</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5299"><td class="num" id="LN5299">5299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5300"><td class="num" id="LN5300">5300</td><td class="line"> <span class='comment'>/* Only use the configured monitor if it's existing. Else, we ignore</span></td></tr>
+<tr class="codeline" data-linenumber="5301"><td class="num" id="LN5301">5301</td><td class="line"> <span class='comment'>* the non-existing monitor, and keep the old one. The main use case is</span></td></tr>
+<tr class="codeline" data-linenumber="5302"><td class="num" id="LN5302">5302</td><td class="line"> <span class='comment'>* when logging in after having used a multimonitor environment.</span></td></tr>
+<tr class="codeline" data-linenumber="5303"><td class="num" id="LN5303">5303</td><td class="line"> <span class='comment'>* We will put the panel on the monitor 0 for this session, and it will</span></td></tr>
+<tr class="codeline" data-linenumber="5304"><td class="num" id="LN5304">5304</td><td class="line"> <span class='comment'>* move back to the right monitor next time. */</span></td></tr>
+<tr class="codeline" data-linenumber="5305"><td class="num" id="LN5305">5305</td><td class="line"> <span class='keyword'>if</span> (monitor &lt; panel_multimonitor_monitors ())</td></tr>
+<tr class="codeline" data-linenumber="5306"><td class="num" id="LN5306">5306</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5307"><td class="num" id="LN5307">5307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5308"><td class="num" id="LN5308">5308</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"monitor"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5309"><td class="num" id="LN5309">5309</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5310"><td class="num" id="LN5310">5310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5311"><td class="num" id="LN5311">5311</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5312"><td class="num" id="LN5312">5312</td><td class="line">panel_toplevel_get_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5313"><td class="num" id="LN5313">5313</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5314"><td class="num" id="LN5314">5314</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5315"><td class="num" id="LN5315">5315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5316"><td class="num" id="LN5316">5316</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="5317"><td class="num" id="LN5317">5317</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5318"><td class="num" id="LN5318">5318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5319"><td class="num" id="LN5319">5319</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5320"><td class="num" id="LN5320">5320</td><td class="line">panel_toplevel_set_auto_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5321"><td class="num" id="LN5321">5321</td><td class="line"> gboolean auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5322"><td class="num" id="LN5322">5322</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5323"><td class="num" id="LN5323">5323</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5324"><td class="num" id="LN5324">5324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5325"><td class="num" id="LN5325">5325</td><td class="line"> auto_hide = auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5326"><td class="num" id="LN5326">5326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5327"><td class="num" id="LN5327">5327</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide == auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5328"><td class="num" id="LN5328">5328</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5329"><td class="num" id="LN5329">5329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5330"><td class="num" id="LN5330">5330</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = (auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5331"><td class="num" id="LN5331">5331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5332"><td class="num" id="LN5332">5332</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5333"><td class="num" id="LN5333">5333</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5334"><td class="num" id="LN5334">5334</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5335"><td class="num" id="LN5335">5335</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5336"><td class="num" id="LN5336">5336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5337"><td class="num" id="LN5337">5337</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="5338"><td class="num" id="LN5338">5338</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5339"><td class="num" id="LN5339">5339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5340"><td class="num" id="LN5340">5340</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5341"><td class="num" id="LN5341">5341</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5342"><td class="num" id="LN5342">5342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5343"><td class="num" id="LN5343">5343</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5344"><td class="num" id="LN5344">5344</td><td class="line">panel_toplevel_get_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5345"><td class="num" id="LN5345">5345</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5346"><td class="num" id="LN5346">5346</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5347"><td class="num" id="LN5347">5347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5348"><td class="num" id="LN5348">5348</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide;</td></tr>
+<tr class="codeline" data-linenumber="5349"><td class="num" id="LN5349">5349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5350"><td class="num" id="LN5350">5350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5351"><td class="num" id="LN5351">5351</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5352"><td class="num" id="LN5352">5352</td><td class="line">panel_toplevel_set_hide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5353"><td class="num" id="LN5353">5353</td><td class="line"> <span class='keyword'>int</span> hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5354"><td class="num" id="LN5354">5354</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5355"><td class="num" id="LN5355">5355</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5356"><td class="num" id="LN5356">5356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5357"><td class="num" id="LN5357">5357</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay == hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5358"><td class="num" id="LN5358">5358</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5359"><td class="num" id="LN5359">5359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5360"><td class="num" id="LN5360">5360</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5361"><td class="num" id="LN5361">5361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5362"><td class="num" id="LN5362">5362</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"hide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5363"><td class="num" id="LN5363">5363</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5364"><td class="num" id="LN5364">5364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5365"><td class="num" id="LN5365">5365</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5366"><td class="num" id="LN5366">5366</td><td class="line">panel_toplevel_get_hide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5367"><td class="num" id="LN5367">5367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5368"><td class="num" id="LN5368">5368</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5369"><td class="num" id="LN5369">5369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5370"><td class="num" id="LN5370">5370</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5371"><td class="num" id="LN5371">5371</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5372"><td class="num" id="LN5372">5372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5373"><td class="num" id="LN5373">5373</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5374"><td class="num" id="LN5374">5374</td><td class="line">panel_toplevel_set_unhide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5375"><td class="num" id="LN5375">5375</td><td class="line"> <span class='keyword'>int</span> unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5376"><td class="num" id="LN5376">5376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5377"><td class="num" id="LN5377">5377</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5378"><td class="num" id="LN5378">5378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5379"><td class="num" id="LN5379">5379</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay == unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5380"><td class="num" id="LN5380">5380</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5381"><td class="num" id="LN5381">5381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5382"><td class="num" id="LN5382">5382</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5383"><td class="num" id="LN5383">5383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5384"><td class="num" id="LN5384">5384</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"unhide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5385"><td class="num" id="LN5385">5385</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5386"><td class="num" id="LN5386">5386</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5387"><td class="num" id="LN5387">5387</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5388"><td class="num" id="LN5388">5388</td><td class="line">panel_toplevel_get_unhide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5389"><td class="num" id="LN5389">5389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5390"><td class="num" id="LN5390">5390</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5391"><td class="num" id="LN5391">5391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5392"><td class="num" id="LN5392">5392</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5393"><td class="num" id="LN5393">5393</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5394"><td class="num" id="LN5394">5394</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5395"><td class="num" id="LN5395">5395</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5396"><td class="num" id="LN5396">5396</td><td class="line">panel_toplevel_set_animate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5397"><td class="num" id="LN5397">5397</td><td class="line"> gboolean animate)</td></tr>
+<tr class="codeline" data-linenumber="5398"><td class="num" id="LN5398">5398</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5399"><td class="num" id="LN5399">5399</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5400"><td class="num" id="LN5400">5400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5401"><td class="num" id="LN5401">5401</td><td class="line"> animate = animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5402"><td class="num" id="LN5402">5402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5403"><td class="num" id="LN5403">5403</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate == animate)</td></tr>
+<tr class="codeline" data-linenumber="5404"><td class="num" id="LN5404">5404</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5405"><td class="num" id="LN5405">5405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5406"><td class="num" id="LN5406">5406</td><td class="line"> toplevel-&gt;priv-&gt;animate = (animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5407"><td class="num" id="LN5407">5407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5408"><td class="num" id="LN5408">5408</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animate"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5409"><td class="num" id="LN5409">5409</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5410"><td class="num" id="LN5410">5410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5411"><td class="num" id="LN5411">5411</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5412"><td class="num" id="LN5412">5412</td><td class="line">panel_toplevel_get_animate (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5413"><td class="num" id="LN5413">5413</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5414"><td class="num" id="LN5414">5414</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5415"><td class="num" id="LN5415">5415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5416"><td class="num" id="LN5416">5416</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animate;</td></tr>
+<tr class="codeline" data-linenumber="5417"><td class="num" id="LN5417">5417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5418"><td class="num" id="LN5418">5418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5419"><td class="num" id="LN5419">5419</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5420"><td class="num" id="LN5420">5420</td><td class="line">panel_toplevel_set_animation_speed (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5421"><td class="num" id="LN5421">5421</td><td class="line"> PanelAnimationSpeed animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5422"><td class="num" id="LN5422">5422</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5423"><td class="num" id="LN5423">5423</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5424"><td class="num" id="LN5424">5424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5425"><td class="num" id="LN5425">5425</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_speed == animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5426"><td class="num" id="LN5426">5426</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5427"><td class="num" id="LN5427">5427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5428"><td class="num" id="LN5428">5428</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5429"><td class="num" id="LN5429">5429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5430"><td class="num" id="LN5430">5430</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animation-speed"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5431"><td class="num" id="LN5431">5431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5432"><td class="num" id="LN5432">5432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5433"><td class="num" id="LN5433">5433</td><td class="line">PanelAnimationSpeed</td></tr>
+<tr class="codeline" data-linenumber="5434"><td class="num" id="LN5434">5434</td><td class="line">panel_toplevel_get_animation_speed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5435"><td class="num" id="LN5435">5435</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5436"><td class="num" id="LN5436">5436</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5437"><td class="num" id="LN5437">5437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5438"><td class="num" id="LN5438">5438</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5439"><td class="num" id="LN5439">5439</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5440"><td class="num" id="LN5440">5440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5441"><td class="num" id="LN5441">5441</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5442"><td class="num" id="LN5442">5442</td><td class="line">panel_toplevel_set_enable_buttons (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5443"><td class="num" id="LN5443">5443</td><td class="line"> gboolean enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5444"><td class="num" id="LN5444">5444</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5445"><td class="num" id="LN5445">5445</td><td class="line"> enable_buttons = enable_buttons != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5446"><td class="num" id="LN5446">5446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5447"><td class="num" id="LN5447">5447</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled == enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5448"><td class="num" id="LN5448">5448</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5449"><td class="num" id="LN5449">5449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5450"><td class="num" id="LN5450">5450</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = enable_buttons;</td></tr>
+<tr class="codeline" data-linenumber="5451"><td class="num" id="LN5451">5451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5452"><td class="num" id="LN5452">5452</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5453"><td class="num" id="LN5453">5453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5454"><td class="num" id="LN5454">5454</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"buttons-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5455"><td class="num" id="LN5455">5455</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5456"><td class="num" id="LN5456">5456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5457"><td class="num" id="LN5457">5457</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5458"><td class="num" id="LN5458">5458</td><td class="line">panel_toplevel_get_enable_buttons (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5459"><td class="num" id="LN5459">5459</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5460"><td class="num" id="LN5460">5460</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5461"><td class="num" id="LN5461">5461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5462"><td class="num" id="LN5462">5462</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;buttons_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5463"><td class="num" id="LN5463">5463</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5464"><td class="num" id="LN5464">5464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5465"><td class="num" id="LN5465">5465</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5466"><td class="num" id="LN5466">5466</td><td class="line">panel_toplevel_set_enable_arrows (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5467"><td class="num" id="LN5467">5467</td><td class="line"> gboolean enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5468"><td class="num" id="LN5468">5468</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5469"><td class="num" id="LN5469">5469</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5470"><td class="num" id="LN5470">5470</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5471"><td class="num" id="LN5471">5471</td><td class="line"> enable_arrows = enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5472"><td class="num" id="LN5472">5472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5473"><td class="num" id="LN5473">5473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled == enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5474"><td class="num" id="LN5474">5474</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5475"><td class="num" id="LN5475">5475</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5476"><td class="num" id="LN5476">5476</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = (enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5477"><td class="num" id="LN5477">5477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5478"><td class="num" id="LN5478">5478</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5479"><td class="num" id="LN5479">5479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5480"><td class="num" id="LN5480">5480</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrows-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5481"><td class="num" id="LN5481">5481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5482"><td class="num" id="LN5482">5482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5483"><td class="num" id="LN5483">5483</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5484"><td class="num" id="LN5484">5484</td><td class="line">panel_toplevel_get_enable_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5485"><td class="num" id="LN5485">5485</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5486"><td class="num" id="LN5486">5486</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5487"><td class="num" id="LN5487">5487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5488"><td class="num" id="LN5488">5488</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;arrows_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5489"><td class="num" id="LN5489">5489</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5490"><td class="num" id="LN5490">5490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5491"><td class="num" id="LN5491">5491</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5492"><td class="num" id="LN5492">5492</td><td class="line">panel_toplevel_rotate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5493"><td class="num" id="LN5493">5493</td><td class="line"> gboolean clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5494"><td class="num" id="LN5494">5494</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5495"><td class="num" id="LN5495">5495</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="5496"><td class="num" id="LN5496">5496</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5497"><td class="num" id="LN5497">5497</td><td class="line"> <span class='comment'>/* Relies on PanelOrientation definition:</span></td></tr>
+<tr class="codeline" data-linenumber="5498"><td class="num" id="LN5498">5498</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5499"><td class="num" id="LN5499">5499</td><td class="line"> <span class='comment'>* typedef enum {</span></td></tr>
+<tr class="codeline" data-linenumber="5500"><td class="num" id="LN5500">5500</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_TOP = 1 &lt;&lt; 0,</span></td></tr>
+<tr class="codeline" data-linenumber="5501"><td class="num" id="LN5501">5501</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_RIGHT = 1 &lt;&lt; 1,</span></td></tr>
+<tr class="codeline" data-linenumber="5502"><td class="num" id="LN5502">5502</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_BOTTOM = 1 &lt;&lt; 2,</span></td></tr>
+<tr class="codeline" data-linenumber="5503"><td class="num" id="LN5503">5503</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_LEFT = 1 &lt;&lt; 3</span></td></tr>
+<tr class="codeline" data-linenumber="5504"><td class="num" id="LN5504">5504</td><td class="line"> <span class='comment'>* } PanelOrientation;</span></td></tr>
+<tr class="codeline" data-linenumber="5505"><td class="num" id="LN5505">5505</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="5506"><td class="num" id="LN5506">5506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5507"><td class="num" id="LN5507">5507</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5508"><td class="num" id="LN5508">5508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5509"><td class="num" id="LN5509">5509</td><td class="line"> <span class='keyword'>if</span> (clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5510"><td class="num" id="LN5510">5510</td><td class="line"> orientation &lt;&lt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5511"><td class="num" id="LN5511">5511</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5512"><td class="num" id="LN5512">5512</td><td class="line"> orientation &gt;&gt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5513"><td class="num" id="LN5513">5513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5514"><td class="num" id="LN5514">5514</td><td class="line"> <span class='keyword'>if</span> (orientation == 0)</td></tr>
+<tr class="codeline" data-linenumber="5515"><td class="num" id="LN5515">5515</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5516"><td class="num" id="LN5516">5516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5517"><td class="num" id="LN5517">5517</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (orientation &gt; PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="5518"><td class="num" id="LN5518">5518</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="5519"><td class="num" id="LN5519">5519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5520"><td class="num" id="LN5520">5520</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="5521"><td class="num" id="LN5521">5521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5522"><td class="num" id="LN5522">5522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5523"><td class="num" id="LN5523">5523</td><td class="line">PanelState</td></tr>
+<tr class="codeline" data-linenumber="5524"><td class="num" id="LN5524">5524</td><td class="line">panel_toplevel_get_state (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5525"><td class="num" id="LN5525">5525</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5526"><td class="num" id="LN5526">5526</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5527"><td class="num" id="LN5527">5527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5528"><td class="num" id="LN5528">5528</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="5529"><td class="num" id="LN5529">5529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5530"><td class="num" id="LN5530">5530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5531"><td class="num" id="LN5531">5531</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5532"><td class="num" id="LN5532">5532</td><td class="line">panel_toplevel_get_is_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5533"><td class="num" id="LN5533">5533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5534"><td class="num" id="LN5534">5534</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5535"><td class="num" id="LN5535">5535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5536"><td class="num" id="LN5536">5536</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||</td></tr>
+<tr class="codeline" data-linenumber="5537"><td class="num" id="LN5537">5537</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="5538"><td class="num" id="LN5538">5538</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="5539"><td class="num" id="LN5539">5539</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="5540"><td class="num" id="LN5540">5540</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5541"><td class="num" id="LN5541">5541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5542"><td class="num" id="LN5542">5542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5543"><td class="num" id="LN5543">5543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5544"><td class="num" id="LN5544">5544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5545"><td class="num" id="LN5545">5545</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5546"><td class="num" id="LN5546">5546</td><td class="line">panel_toplevel_get_minimum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5547"><td class="num" id="LN5547">5547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5548"><td class="num" id="LN5548">5548</td><td class="line"> <span class='keyword'>return</span> calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="5549"><td class="num" id="LN5549">5549</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="5550"><td class="num" id="LN5550">5550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5551"><td class="num" id="LN5551">5551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5552"><td class="num" id="LN5552">5552</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5553"><td class="num" id="LN5553">5553</td><td class="line">panel_toplevel_get_maximum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5554"><td class="num" id="LN5554">5554</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5555"><td class="num" id="LN5555">5555</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="5556"><td class="num" id="LN5556">5556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5557"><td class="num" id="LN5557">5557</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="5558"><td class="num" id="LN5558">5558</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5559"><td class="num" id="LN5559">5559</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5560"><td class="num" id="LN5560">5560</td><td class="line"> <span class='keyword'>return</span> monitor_geom.height / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5561"><td class="num" id="LN5561">5561</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5562"><td class="num" id="LN5562">5562</td><td class="line"> <span class='keyword'>return</span> monitor_geom.width / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5563"><td class="num" id="LN5563">5563</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-f493c1.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-f493c1.html
new file mode 100644
index 00000000..7284dd5a
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-f493c1.html
@@ -0,0 +1,3246 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-panel-applet.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption -->
+
+<!-- BUGTYPE Cast from non-struct type to struct type -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/mate-panel-applet.c -->
+
+<!-- FILENAME mate-panel-applet.c -->
+
+<!-- FUNCTIONNAME get_property_cb -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT f493c16d8cc5538ee545a32761605fc4 -->
+
+<!-- BUGLINE 2246 -->
+
+<!-- BUGCOLUMN 33 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/mate-panel-applet.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 2246, column 33</a><br />Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mate-panel-applet.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I ../libmate-panel-applet -D MATELOCALEDIR="/usr/local/share/locale" -D PIC -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c mate-panel-applet.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"2246": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* mate-panel-applet.c: panel applet writing library.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (c) 2010 Carlos Garcia Campos &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2001 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Library General Public</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;cairo-xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;gtk/gtkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;X11/Xatom.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-plug-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "mate-panel-applet.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-applet-private.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "mate-panel-applet-factory.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "mate-panel-applet-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "mate-panel-applet-enums.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> {</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> GtkWidget *plug;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> GDBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gboolean out_of_process;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>char</span> *id;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> GClosure *closure;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>char</span> *object_path;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> guint object_id;</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> <span class='keyword'>char</span> *prefs_path;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> GtkUIManager *ui_manager;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> GtkActionGroup *applet_action_group;</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> GtkActionGroup *panel_action_group;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> MatePanelAppletOrient orient;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> guint size;</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>char</span> *background;</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='keyword'>int</span> previous_width;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>int</span> previous_height;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='keyword'>int</span> size_hints_len;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> gboolean moving_focus_out;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> gboolean locked_down;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} MatePanelAppletPrivate;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> CHANGE_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> CHANGE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> CHANGE_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> MOVE_FOCUS_OUT_OF_APPLET,</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"><span class='keyword'>static</span> guint mate_panel_applet_signals[LAST_SIGNAL] = { 0 };</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> PROP_LOCKED_DOWN</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_handle_background (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> GtkAction *mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>const</span> gchar *action);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_update_actions (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_register_object (MatePanelApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css (GtkWidget* widget, MatePanelAppletBackgroundType type);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar panel_menu_ui[] =</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='string_literal'>"&lt;ui&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>" &lt;popup name=\"MatePanelAppletPopup\" action=\"PopupAction\"&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='string_literal'>" &lt;placeholder name=\"AppletItems\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"RemoveItem\" action=\"Remove\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"MoveItem\" action=\"Move\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='string_literal'>" &lt;separator/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='string_literal'>" &lt;menuitem name=\"LockItem\" action=\"Lock\"/&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='string_literal'>" &lt;/popup&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='string_literal'>"&lt;/ui&gt;\n"</span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry menu_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> { <span class='string_literal'>"Remove"</span>, <span class='string_literal'>"list-remove"</span>, <span class='macro'>N_(<span class='string_literal'>"_Remove From Panel"</span>)<span class='macro_popup'>("_Remove From Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_remove)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_remove))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> { <span class='string_literal'>"Move"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"_Move"</span>)<span class='macro_popup'>("_Move")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_move)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_move))</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkToggleActionEntry menu_toggle_entries[] = {</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> { <span class='string_literal'>"Lock"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>N_(<span class='string_literal'>"Loc_k To Panel"</span>)<span class='macro_popup'>("Loc_k To Panel")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_menu_cmd_lock)<span class='macro_popup'>((GCallback) (mate_panel_applet_menu_cmd_lock))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (MatePanelApplet, mate_panel_applet, GTK_TYPE_EVENT_BOX)<span class='macro_popup'>static void mate_panel_applet_init (MatePanelApplet *self); static<br> void mate_panel_applet_class_init (MatePanelAppletClass *klass<br>); static GType mate_panel_applet_get_type_once (void); static<br> gpointer mate_panel_applet_parent_class = ((void*)0); static<br> gint MatePanelApplet_private_offset; static void mate_panel_applet_class_intern_init<br> (gpointer klass) { mate_panel_applet_parent_class = g_type_class_peek_parent<br> (klass); if (MatePanelApplet_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;MatePanelApplet_private_offset); mate_panel_applet_class_init<br> ((MatePanelAppletClass*) klass); } __attribute__ ((__unused__<br>)) static inline gpointer mate_panel_applet_get_instance_private<br> (MatePanelApplet *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (MatePanelApplet_private_offset)))); } GType mate_panel_applet_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = mate_panel_applet_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType mate_panel_applet_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_event_box_get_type ()), g_intern_static_string ("MatePanelApplet"<br>), sizeof (MatePanelAppletClass), (GClassInitFunc)(void (*)(void<br>)) mate_panel_applet_class_intern_init, sizeof (MatePanelApplet<br>), (GInstanceInitFunc)(void (*)(void)) mate_panel_applet_init<br>, (GTypeFlags) 0); { {{ MatePanelApplet_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (MatePanelAppletPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span> "org.mate.panel.applet.Applet"</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"><span class='directive'>#define <span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span> "/org/mate/panel/applet/%s/%d"</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line">mate_panel_applet_get_preferences_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (priv-&gt;prefs_path)<span class='macro_popup'>g_strdup_inline (priv-&gt;prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line">mate_panel_applet_set_preferences_path (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;prefs_path == prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;prefs_path, prefs_path) == 0)</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>if</span> (prefs_path)</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> priv-&gt;prefs_path = <span class='macro'>g_strdup (prefs_path)<span class='macro_popup'>g_strdup_inline (prefs_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"prefs-path"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line">MatePanelAppletFlags</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line">mate_panel_applet_get_flags (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), MATE_PANEL_APPLET_FLAGS_NONE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (MATE_PANEL_APPLET_FLAGS_NONE); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>return</span> priv-&gt;flags;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line">mate_panel_applet_set_flags (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> MatePanelAppletFlags flags)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;flags == flags)</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> priv-&gt;flags = flags;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"flags"</span>);</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> g_variant_new_uint32 (priv-&gt;flags));</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::Flags: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line">mate_panel_applet_size_hints_ensure (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>int</span> new_size)</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints &amp;&amp; priv-&gt;size_hints_len &lt; new_size) {</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> g_free (priv-&gt;size_hints);</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (!priv-&gt;size_hints) {</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> priv-&gt;size_hints = <span class='macro'>g_new (gint, new_size)<span class='macro_popup'>((gint *) g_malloc_n ((new_size), sizeof (gint)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> priv-&gt;size_hints_len = new_size;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line">mate_panel_applet_size_hints_changed (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;size_hints)</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size_hints_len != n_elements)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++) {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>if</span> (size_hints[i] + base_size != priv-&gt;size_hints[i])</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='comment'>* mate_panel_applet_set_size_hints:</span></td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='comment'>* @applet: applet</span></td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='comment'>* @size_hints: (array length=n_elements): List of integers</span></td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='comment'>* @n_elements: Length of @size_hints</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='comment'>* @base_size: base_size</span></td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line">mate_panel_applet_set_size_hints (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints,</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>int</span> n_elements,</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> <span class='keyword'>int</span> base_size)</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> <span class='comment'>/* Make sure property has really changed to avoid bus traffic */</span></td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_size_hints_changed (applet, size_hints, n_elements, base_size))</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> mate_panel_applet_size_hints_ensure (applet, n_elements);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> priv-&gt;size_hints[i] = size_hints[i] + base_size;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size-hints"</span>);</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> GVariantBuilder builder;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> GVariantBuilder invalidated_builder;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> g_variant_builder_init (&amp;builder, <span class='macro'>G_VARIANT_TYPE_ARRAY<span class='macro_popup'>((const GVariantType *) "a*")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> g_variant_builder_init (&amp;invalidated_builder, <span class='macro'>G_VARIANT_TYPE (<span class='string_literal'>"as"</span>)<span class='macro_popup'>(g_variant_type_checked_ (("as")))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_elements; i++)</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_variant_builder_add (&amp;builder, <span class='string_literal'>"{sv}"</span>, <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> children, priv-&gt;size_hints_len));</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='string_literal'>"PropertiesChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> g_variant_new (<span class='string_literal'>"(sa{sv}as)"</span>,</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> &amp;builder,</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> &amp;invalidated_builder),</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal PropertiesChanged::SizeHints: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_variant_builder_clear (&amp;builder);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> g_variant_builder_clear (&amp;invalidated_builder);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line">guint</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line">mate_panel_applet_get_size (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>return</span> priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"><span class='comment'>/* Applets cannot set their size, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line">mate_panel_applet_set_size (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> guint size)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE],</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> 0, size);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line">MatePanelAppletOrient</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">mate_panel_applet_get_orient (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), 0)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (0); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span> priv-&gt;orient;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"><span class='comment'>/* Applets cannot set their orientation, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">mate_panel_applet_set_orient (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> MatePanelAppletOrient orient)</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == orient)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> priv-&gt;orient = orient;</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT],</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> 0, orient);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orient"</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line">mate_panel_applet_set_locked (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> gboolean locked)</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> GtkAction *action;</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked == locked)</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> priv-&gt;locked = locked;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> action = mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>);</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='macro'>g_signal_handlers_block_by_func (action,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_block_matched ((action), (GSignalMatchType)<br> (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)0<br>), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> gtk_toggle_action_set_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>, locked);</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='macro'>g_signal_handlers_unblock_by_func (action,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='macro'>mate_panel_applet_menu_cmd_lock,<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span></td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_handlers_unblock_matched ((action), (GSignalMatchType<br>) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, ((void*)<br>0), (mate_panel_applet_menu_cmd_lock), (applet))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked"</span>);</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal %s: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> locked ? <span class='string_literal'>"Lock"</span> : <span class='string_literal'>"Unlock"</span>,</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line">mate_panel_applet_get_locked_down (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> <span class='keyword'>return</span> priv-&gt;locked_down;</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"><span class='comment'>/* Applets cannot set the lockdown state, so API is not public. */</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line">mate_panel_applet_set_locked_down (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> gboolean locked_down)</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;locked_down == locked_down)</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> priv-&gt;locked_down = locked_down;</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> mate_panel_applet_menu_update_actions (applet);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"locked-down"</span>);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"><span class='keyword'>static</span> Atom _net_wm_window_type_dock = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"><span class='keyword'>static</span> Atom _net_active_window = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line">mate_panel_applet_init_atoms (Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> _net_wm_window_type = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE"</span>,</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='keyword'>if</span> (_net_wm_window_type_dock == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> _net_wm_window_type_dock = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='string_literal'>"_NET_WM_WINDOW_TYPE_DOCK"</span>,</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (_net_active_window == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> _net_active_window = XInternAtom (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> <span class='string_literal'>"_NET_ACTIVE_WINDOW"</span>,</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"><span class='keyword'>static</span> Window</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line">mate_panel_applet_find_toplevel_dock_window (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> Display *xdisplay)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> Window xwin;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> Window root, parent, *child;</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>int</span> num_children;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> xwin = <span class='macro'>GDK_WINDOW_XID (gtk_widget_get_window (toplevel))<span class='macro_popup'>(gdk_x11_window_get_xid (gtk_widget_get_window (toplevel)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> child = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> parent = root = <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> Atom type_return;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> Atom window_type;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='keyword'>int</span> format_return;</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> gulong number_return, bytes_after_return;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> guchar *data_return;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> XGetWindowProperty (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> _net_wm_window_type,</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> 0, 1, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> &amp;type_return, &amp;format_return,</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> &amp;number_return,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> &amp;bytes_after_return,</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> &amp;data_return);</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> <span class='keyword'>if</span> (type_return == <span class='macro'>XA_ATOM<span class='macro_popup'>((Atom) 4)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> window_type = *(Atom *) data_return;</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> XFree (data_return);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> data_return = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> <span class='keyword'>if</span> (window_type == _net_wm_window_type_dock)</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> <span class='keyword'>return</span> xwin;</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> <span class='keyword'>if</span> (!XQueryTree (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> xwin,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> &amp;root, &amp;parent, &amp;child,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> (guint *) &amp;num_children)) {</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; num_children &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> XFree (child);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> xwin = parent;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> } <span class='keyword'>while</span> (xwin != <span class='macro'>None<span class='macro_popup'>0L</span></span> &amp;&amp; xwin != root);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>None<span class='macro_popup'>0L</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"><span class='comment'>/* This function</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> <span class='comment'>* 1) Gets the window id of the panel that contains the applet</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='comment'>* using XQueryTree and XGetWindowProperty to find an ancestor</span></td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> <span class='comment'>* window with the _NET_WM_WINDOW_TYPE_DOCK window type.</span></td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='comment'>* 2) Sends a _NET_ACTIVE_WINDOW message to get that panel focused</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">mate_panel_applet_request_focus (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> guint32 timestamp)</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> GdkWindow *root;</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> Display *xdisplay;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> Window dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> Window xroot;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> XEvent xev;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> screen = gdk_screen_get_default(); <span class='comment'>/*There is only one screen since GTK 3.22*/</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> root = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> xdisplay = <span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> xroot = <span class='macro'>GDK_WINDOW_XID (root)<span class='macro_popup'>(gdk_x11_window_get_xid (root))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> mate_panel_applet_init_atoms (xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> dock_xwindow = mate_panel_applet_find_toplevel_dock_window (applet, xdisplay);</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>if</span> (dock_xwindow == <span class='macro'>None<span class='macro_popup'>0L</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> xev.xclient.type = <span class='macro'>ClientMessage<span class='macro_popup'>33</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> xev.xclient.serial = 0;</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> xev.xclient.send_event = <span class='macro'>True<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> xev.xclient.window = dock_xwindow;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> xev.xclient.message_type = _net_active_window;</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> xev.xclient.format = 32;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> xev.xclient.data.l[0] = 1; <span class='comment'>/* requestor type; we're an app, I guess */</span></td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> xev.xclient.data.l[1] = timestamp;</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> xev.xclient.data.l[2] = <span class='macro'>None<span class='macro_popup'>0L</span></span>; <span class='comment'>/* "currently active window", supposedly */</span></td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> xev.xclient.data.l[3] = 0;</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> xev.xclient.data.l[4] = 0;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> XSendEvent (xdisplay,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> xroot, <span class='macro'>False<span class='macro_popup'>0</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='macro'>SubstructureRedirectMask<span class='macro_popup'>(1L&lt;&lt;20)</span></span> | <span class='macro'>SubstructureNotifyMask<span class='macro_popup'>(1L&lt;&lt;19)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> &amp;xev);</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"><span class='keyword'>static</span> GtkAction *</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line">mate_panel_applet_menu_get_action (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>const</span> gchar *action)</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span> gtk_action_group_get_action (priv-&gt;panel_action_group, action);</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line">mate_panel_applet_menu_update_actions (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Lock"</span>),</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Move"</span>),</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> g_object_set (mate_panel_applet_menu_get_action (applet, <span class='string_literal'>"Remove"</span>),</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> <span class='string_literal'>"sensitive"</span>, !priv-&gt;locked,</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='string_literal'>"visible"</span>, !priv-&gt;locked_down,</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line">mate_panel_applet_menu_cmd_remove (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='string_literal'>"RemoveFromPanel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line">mate_panel_applet_menu_cmd_move (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;connection)</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> g_dbus_connection_emit_signal (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_INTERFACE<span class='macro_popup'>"org.mate.panel.applet.Applet"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> <span class='string_literal'>"Move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to send signal RemoveFromPanel: %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line">mate_panel_applet_menu_cmd_lock (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> gboolean locked;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> locked = gtk_toggle_action_get_active (<span class='macro'>GTK_TOGGLE_ACTION (action)<span class='macro_popup'>((((GtkToggleAction*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((action)), ((gtk_toggle_action_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> mate_panel_applet_set_locked (applet, locked);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line">mate_panel_applet_setup_menu (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> <span class='keyword'>const</span> gchar *xml,</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> gchar *new_xml;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> <span class='macro'>g_return_if_fail (MATE_PANEL_IS_APPLET (applet))<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> <span class='macro'>g_return_if_fail (xml != NULL)<span class='macro_popup'>do { if ((xml != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xml != NULL"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> priv-&gt;applet_action_group = <span class='macro'>g_object_ref (applet_action_group)<span class='macro_popup'>((__typeof__ (applet_action_group)) (g_object_ref) (applet_action_group<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> applet_action_group, 0);</td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> new_xml = g_strdup_printf (<span class='string_literal'>"&lt;ui&gt;&lt;popup name=\"MatePanelAppletPopup\" action=\"AppletItems\"&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> <span class='string_literal'>"&lt;placeholder name=\"AppletItems\"&gt;%s\n&lt;/placeholder&gt;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> <span class='string_literal'>"&lt;/popup&gt;&lt;/ui&gt;\n"</span>, xml);</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager, new_xml, -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> g_free (new_xml);</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> gtk_ui_manager_ensure_update (priv-&gt;ui_manager);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> g_warning (<span class='string_literal'>"Error merging menus: %s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line">mate_panel_applet_setup_menu_from_file (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>const</span> gchar *filename,</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> GtkActionGroup *applet_action_group)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> gchar *xml = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='keyword'>if</span> (g_file_get_contents (filename, &amp;xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error)) {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> mate_panel_applet_setup_menu (applet, xml, applet_action_group);</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> g_free (xml);</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='comment'>* mate_panel_applet_setup_menu_from_resource:</span></td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='comment'>* @applet: a #MatePanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='comment'>* @resource_path: a resource path</span></td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='comment'>* @action_group: a #GtkActionGroup.</span></td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='comment'>* Sets up the context menu of @applet. @filename is a resource path to a menu</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> <span class='comment'>* XML file, containing a #GtkUIManager UI definition that describes how to</span></td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='comment'>* display the menu items. @action_group contains the various #GtkAction that</span></td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='comment'>* are referenced in @xml.</span></td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='comment'>* See also the &lt;link linkend="getting-started.context-menu"&gt;Context</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> <span class='comment'>* Menu&lt;/link&gt; section.</span></td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='comment'>* Since: 1.20.1</span></td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line">mate_panel_applet_setup_menu_from_resource (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> <span class='keyword'>const</span> gchar *resource_path,</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> GtkActionGroup *action_group)</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> GBytes *bytes;</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> bytes = g_resources_lookup_data (resource_path,</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> G_RESOURCE_LOOKUP_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> <span class='keyword'>if</span> (bytes) {</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> mate_panel_applet_setup_menu (applet,</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> g_bytes_get_data (bytes, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> action_group);</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> g_bytes_unref (bytes);</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line">mate_panel_applet_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;connection) {</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;object_id)</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> g_dbus_connection_unregister_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> priv-&gt;object_id);</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> priv-&gt;object_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;connection)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;connection)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;connection))) _pp = ((&amp;priv-&gt;connection)<br>); __typeof__ (*((&amp;priv-&gt;connection))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;object_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;object_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;object_path)) _pp = (&amp;priv-&gt;object_path); __typeof__<br> (*(&amp;priv-&gt;object_path)) _ptr = *_pp; *_pp = ((void*)0<br>); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> mate_panel_applet_set_preferences_path (applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;applet_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;applet_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;applet_action_group))) _pp = ((&amp;priv-&gt;<br>applet_action_group)); __typeof__ (*((&amp;priv-&gt;applet_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;panel_action_group)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;panel_action_group<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;priv-&gt;panel_action_group))) _pp = ((&amp;priv-&gt;<br>panel_action_group)); __typeof__ (*((&amp;priv-&gt;panel_action_group<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> <span class='macro'>g_clear_object (&amp;priv-&gt;ui_manager)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;priv-&gt;ui_manager)) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ (((<br>&amp;priv-&gt;ui_manager))) _pp = ((&amp;priv-&gt;ui_manager)<br>); __typeof__ (*((&amp;priv-&gt;ui_manager))) _ptr = *_pp; *_pp<br> = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;size_hints, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;size_hints) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;size_hints)) _pp = (&amp;priv-&gt;size_hints); __typeof__<br> (*(&amp;priv-&gt;size_hints)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;prefs_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;prefs_path) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;prefs_path)) _pp = (&amp;priv-&gt;prefs_path); __typeof__<br> (*(&amp;priv-&gt;prefs_path)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;background, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;background) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>priv-&gt;background)) _pp = (&amp;priv-&gt;background); __typeof__<br> (*(&amp;priv-&gt;background)) _ptr = *_pp; *_pp = ((void*)0)<br>; if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;priv-&gt;id, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;priv-&gt;id) == sizeof (gpointer<br>), "Expression evaluates to false"); __typeof__ ((&amp;priv-&gt;<br>id)) _pp = (&amp;priv-&gt;id); __typeof__ (*(&amp;priv-&gt;id<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> <span class='comment'>/* closure is owned by the factory */</span></td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> priv-&gt;closure = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line">container_has_focusable_child (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> GList *t;</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> list = gtk_container_get_children (container);</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> <span class='keyword'>for</span> (t = list; t; t = t-&gt;next) {</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> GtkWidget *child = <span class='macro'>GTK_WIDGET (t-&gt;data)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((t-&gt;data)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_can_focus (child)) {</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GTK_IS_CONTAINER (child)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(child)); GType __t = ((gtk_container_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> retval = container_has_focusable_child (<span class='macro'>GTK_CONTAINER (child)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((child)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='keyword'>if</span> (retval)</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> g_list_free (list);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line">mate_panel_applet_menu_popup (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> GdkEvent *event)</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> GtkWidget *menu;</td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> menu = gtk_ui_manager_get_widget (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='string_literal'>"/MatePanelAppletPopup"</span>);</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"><span class='comment'>/* Set up theme and transparency support */</span></td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> GtkWidget *toplevel = gtk_widget_get_toplevel (menu);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"><span class='comment'>/* Fix any failures of compiz/other wm's to communicate with gtk for transparency */</span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"><span class='comment'>/* Set menu and it's toplevel window to follow panel theme */</span></td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> GdkGravity widget_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> GdkGravity menu_anchor = GDK_GRAVITY_NORTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (priv-&gt;orient) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_UP:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> menu_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> widget_anchor = GDK_GRAVITY_SOUTH_WEST;</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> menu_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> MATE_PANEL_APPLET_ORIENT_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> widget_anchor = GDK_GRAVITY_NORTH_EAST;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> gtk_menu_popup_at_widget (<span class='macro'>GTK_MENU (menu)<span class='macro_popup'>((((GtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((menu)), ((gtk_menu_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> widget_anchor,</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> menu_anchor,</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> event);</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line">mate_panel_applet_can_focus (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> <span class='comment'>* A MatePanelApplet widget can focus if it has a tooltip or it does</span></td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> <span class='comment'>* not have any focusable children.</span></td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget))</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>if</span> (!MATE_PANEL_IS_APPLET (widget))</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>return</span> !container_has_focusable_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"><span class='comment'>/* Taken from libmatecomponentui/matecomponent/matecomponent-plug.c */</span></td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line">mate_panel_applet_button_event (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> GdkWindow *socket_window;</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> XEvent xevent;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> widget = priv-&gt;plug;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_toplevel (widget))</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> socket_window = gtk_plug_get_socket_window (<span class='macro'>GTK_PLUG (widget)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> <span class='keyword'>if</span> (!<span class='macro'>GDK_IS_X11_DISPLAY (display)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(display)); GType __t = ((gdk_x11_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> <span class='keyword'>if</span> (event-&gt;type == GDK_BUTTON_PRESS) {</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonPress<span class='macro_popup'>4</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='comment'>/* X does an automatic pointer grab on button press</span></td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='comment'>* if we have both button press and release events</span></td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='comment'>* selected.</span></td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='comment'>* We don't want to hog the pointer on our parent.</span></td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> xevent.xbutton.type = <span class='macro'>ButtonRelease<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> xevent.xbutton.display = <span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"> xevent.xbutton.window = <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> xevent.xbutton.root = <span class='macro'>GDK_WINDOW_XID (gdk_screen_get_root_window<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> <span class='macro'>(gdk_window_get_screen (window)))<span class='macro_popup'>(gdk_x11_window_get_xid (gdk_screen_get_root_window (gdk_window_get_screen<br> (window))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> <span class='comment'>* FIXME: the following might cause</span></td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"> <span class='comment'>* big problems for non-GTK apps</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> xevent.xbutton.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> xevent.xbutton.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> xevent.xbutton.x_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> xevent.xbutton.y_root = 0;</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> xevent.xbutton.state = event-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> xevent.xbutton.button = event-&gt;button;</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> xevent.xbutton.same_screen = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>; <span class='comment'>/* FIXME ? */</span></td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> XSendEvent (<span class='macro'>GDK_WINDOW_XDISPLAY (window)<span class='macro_popup'>((gdk_x11_display_get_xdisplay (gdk_window_get_display (window<br>))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='macro'>GDK_WINDOW_XID (socket_window)<span class='macro_popup'>(gdk_x11_window_get_xid (socket_window))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='macro'>False<span class='macro_popup'>0</span></span>, <span class='macro'>NoEventMask<span class='macro_popup'>0L</span></span>, &amp;xevent);</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> gdk_display_flush (display);</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line">mate_panel_applet_button_press (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>if</span> (!container_has_focusable_child (<span class='macro'>GTK_CONTAINER (applet)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_container_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> <span class='comment'>/*Limit the window list's applet menu to the handle area*/</span></td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> <span class='keyword'>if</span> (!(<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> MatePanelAppletFlags flags;</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> flags = mate_panel_applet_get_flags (applet);</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> <span class='keyword'>if</span> (flags &amp; MATE_PANEL_APPLET_EXPAND_MAJOR)</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 3) {</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> mate_panel_applet_menu_popup (applet, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line">mate_panel_applet_button_release (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_button_event (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"><span class='comment'>/*Open the applet context menu only on Menu key</span></td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='comment'>*Do not open it on Return or some applets won't work</span></td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line">mate_panel_applet_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> <span class='keyword'>if</span> (event-&gt;keyval == <span class='macro'>GDK_KEY_Menu<span class='macro_popup'>0xff67</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> mate_panel_applet_menu_popup (MATE_PANEL_APPLET (widget), (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line">mate_panel_applet_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> <span class='keyword'>int</span> *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> <span class='keyword'>int</span> *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_width (widget,</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> natural_width);</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> *minimum_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> *natural_width /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line">mate_panel_applet_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> <span class='keyword'>int</span> *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>int</span> *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;get_preferred_height (widget,</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> natural_height);</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"><span class='directive'>#if !<span class='macro'>GTK_CHECK_VERSION (3, 23, 0)<span class='macro_popup'>((3) &gt; (3) || ((3) == (3) &amp;&amp; (24) &gt; (23)) || ((<br>3) == (3) &amp;&amp; (24) == (23) &amp;&amp; (41) &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process) {</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='comment'>/* Out-of-process applets end up scaled up doubly with GTK 3.22.</span></td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> <span class='comment'>* For these builds divide by the scale factor to ensure</span></td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='comment'>* they are back at their own intended size.</span></td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> scale = gtk_widget_get_scale_factor (widget);</td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"> *minimum_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line"> *natural_height /= scale;</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"><span class='keyword'>static</span> GtkSizeRequestMode</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line">mate_panel_applet_get_request_mode (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='comment'>/* Do not use GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> <span class='comment'>* or GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> <span class='comment'>* to avoid problems with in-process applets</span></td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='comment'>* when the panel is not expanded</span></td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> <span class='comment'>* See https://github.com/mate-desktop/mate-panel/issues/797</span></td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> <span class='comment'>* and https://github.com/mate-desktop/mate-panel/issues/799</span></td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='comment'>* Out of process applets already use GTK_SIZE_REQUEST_CONSTANT_SIZE</span></td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>return</span> GTK_SIZE_REQUEST_CONSTANT_SIZE;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line">mate_panel_applet_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_can_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;size_allocate (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> <span class='keyword'>int</span> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> GtkBin *bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> child_allocation.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> child_allocation.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> child_allocation.width = <span class='macro'>MAX (allocation-&gt;width - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;width - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;width - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> child_allocation.height = <span class='macro'>MAX (allocation-&gt;height - border_width * 2, 0)<span class='macro_popup'>(((allocation-&gt;height - border_width * 2) &gt; (0)) ? (allocation<br>-&gt;height - border_width * 2) : (0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> allocation-&gt;x + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> allocation-&gt;y + border_width,</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> child_allocation.width,</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> child_allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> GtkWidget *child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>if</span> (child)</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> gtk_widget_size_allocate (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='keyword'>if</span> ((priv-&gt;previous_height != allocation-&gt;height) ||</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> (priv-&gt;previous_width != allocation-&gt;width)) {</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> priv-&gt;previous_height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> priv-&gt;previous_width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"><span class='keyword'>static</span> gboolean mate_panel_applet_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> <span class='keyword'>int</span> border_width;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> gdouble x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;draw(widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget))</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> width = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> height = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> border_width = gtk_container_get_border_width (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> width -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> height -= 2 * border_width;</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_render_focus (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line">mate_panel_applet_focus (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> GtkWidget *previous_focus_child;</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (widget), FALSE)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (widget))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (widget)"<br>); return ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;moving_focus_out) {</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='comment'>* Applet will retain focus if there is nothing else on the</span></td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='comment'>* panel to get focus</span></td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> previous_focus_child = gtk_container_get_focus_child (<span class='macro'>GTK_CONTAINER (widget)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_container_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> <span class='keyword'>if</span> (!previous_focus_child &amp;&amp; !gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_has_tooltip (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> ret = <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;focus (widget, dir);</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> <span class='keyword'>if</span> (!ret &amp;&amp; !previous_focus_child) {</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_has_focus (widget)) {</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> <span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> <span class='comment'>* Applet does not have a widget which can focus so set</span></td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> <span class='comment'>* the focus on the applet unless it already had focus</span></td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> <span class='comment'>* because it had a tooltip.</span></td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> gtk_widget_grab_focus (widget);</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gtk_widget_set_can_focus (widget, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line">mate_panel_applet_parse_color (<span class='keyword'>const</span> gchar *color_str,</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='macro'>g_assert (color_str &amp;&amp; color)<span class='macro_popup'>do { if (color_str &amp;&amp; color) ; else g_assertion_message_expr<br> (((gchar*) 0), "mate-panel-applet.c", 1285, ((const char*) (<br>__func__)), "color_str &amp;&amp; color"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='keyword'>return</span> gdk_rgba_parse (color, color_str);</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line">mate_panel_applet_parse_pixmap_str (<span class='keyword'>const</span> <span class='keyword'>char</span> *str,</td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> Window *xid,</td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>int</span> *y)</td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> <span class='keyword'>char</span> *tmp;</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> <span class='macro'>g_return_val_if_fail (str != NULL, FALSE)<span class='macro_popup'>do { if ((str != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "str != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> <span class='macro'>g_return_val_if_fail (xid != NULL, FALSE)<span class='macro_popup'>do { if ((xid != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "xid != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='macro'>g_return_val_if_fail (x != NULL, FALSE)<span class='macro_popup'>do { if ((x != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "x != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> <span class='macro'>g_return_val_if_fail (y != NULL, FALSE)<span class='macro_popup'>do { if ((y != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "y != NULL"); return<br> ((0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> elements = g_strsplit (str, <span class='string_literal'>","</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> <span class='keyword'>if</span> (!elements)</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> <span class='keyword'>if</span> (!elements [0] || !*elements [0] ||</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> !elements [1] || !*elements [1] ||</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> !elements [2] || !*elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> *xid = strtol (elements [0], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [0])</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> *x = strtol (elements [1], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [1])</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> *y = strtol (elements [2], &amp;tmp, 10);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> <span class='keyword'>if</span> (tmp == elements [2])</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> <span class='keyword'>goto</span> ERROR_AND_FREE;</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line">ERROR_AND_FREE:</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"><span class='keyword'>static</span> cairo_surface_t *</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line">mate_panel_applet_create_foreign_surface_for_display (GdkDisplay *display,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> GdkVisual *visual,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> Window xid)</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>Status<span class='macro_popup'>int</span></span> result = 0;</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> Window window;</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> gint x, y;</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> guint width, height, border, depth;</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> result = XGetGeometry (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>, xid, &amp;window,</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> &amp;x, &amp;y, &amp;width, &amp;height, &amp;border, &amp;depth);</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> <span class='keyword'>if</span> (result == 0)</td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> <span class='keyword'>return</span> cairo_xlib_surface_create (<span class='macro'>GDK_DISPLAY_XDISPLAY (display)<span class='macro_popup'>(gdk_x11_display_get_xdisplay (display))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> xid, gdk_x11_visual_get_xvisual (visual),</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"><span class='keyword'>static</span> cairo_pattern_t *</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line">mate_panel_applet_get_pattern_from_pixmap (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> Window xid,</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> cairo_surface_t *background;</td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> <span class='keyword'>int</span> width;</td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>int</span> height;</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), NULL)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (((void*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> background = mate_panel_applet_create_foreign_surface_for_display (display,</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line"> gdk_window_get_visual (window),</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> xid);</td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line"> <span class='comment'>/* background can be NULL if the user changes the background very fast.</span></td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> <span class='comment'>* We'll get the next update, so it's not a big deal. */</span></td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> <span class='keyword'>if</span> (!background || cairo_surface_status (background) != CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> <span class='keyword'>if</span> (background)</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> width = gdk_window_get_width(window);</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> height = gdk_window_get_height(window);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> surface = gdk_window_create_similar_surface (window,</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> width,</td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> height);</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> gdk_x11_display_error_trap_push (display);</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> cr = cairo_create (surface);</td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> cairo_set_source_surface (cr, background, -x, -y);</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> gdk_x11_display_error_trap_pop_ignored (display);</td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> cairo_surface_destroy (background);</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>if</span> (cairo_status (cr) == CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> pattern = cairo_pattern_create_for_surface (surface);</td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line"> <span class='keyword'>return</span> pattern;</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"><span class='keyword'>static</span> MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line">mate_panel_applet_handle_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> MatePanelAppletBackgroundType retval;</td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='keyword'>char</span> **elements;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>) || !priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> elements = g_strsplit (priv-&gt;background, <span class='string_literal'>":"</span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"none"</span> )) {</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> retval = PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"color"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='macro'>g_return_val_if_fail (color != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> <span class='keyword'>if</span> (!elements [1] || !mate_panel_applet_parse_color (elements [1], color)) {</td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received"</span>, elements [0]);</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"> retval = PANEL_COLOR_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (elements [0] &amp;&amp; !strcmp (elements [0], <span class='string_literal'>"pixmap"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> Window pixmap_id;</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='macro'>g_return_val_if_fail (pattern != NULL, PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((pattern != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "pattern != NULL"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='keyword'>if</span> (!mate_panel_applet_parse_pixmap_str (elements [1], &amp;pixmap_id, &amp;x, &amp;y)) {</td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> g_warning (<span class='string_literal'>"Incomplete '%s' background type received: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> elements [0], elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> *pattern = mate_panel_applet_get_pattern_from_pixmap (applet, pixmap_id, x, y);</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> <span class='keyword'>if</span> (!*pattern) {</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> g_warning (<span class='string_literal'>"Failed to get pattern %s"</span>, elements [1]);</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> <span class='keyword'>return</span> PANEL_NO_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> retval = PANEL_PIXMAP_BACKGROUND;</td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> g_warning(<span class='string_literal'>"Received pixmap background type, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> g_warning (<span class='string_literal'>"Unknown background type received"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> g_strfreev (elements);</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line">MatePanelAppletBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line">mate_panel_applet_get_background (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> cairo_pattern_t **pattern)</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> <span class='macro'>g_return_val_if_fail (MATE_PANEL_IS_APPLET (applet), PANEL_NO_BACKGROUND)<span class='macro_popup'>do { if ((MATE_PANEL_IS_APPLET (applet))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "MATE_PANEL_IS_APPLET (applet)"<br>); return (PANEL_NO_BACKGROUND); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> <span class='comment'>/* initial sanity */</span></td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> <span class='keyword'>if</span> (pattern != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> *pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> <span class='keyword'>if</span> (color != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> memset (color, 0, <span class='keyword'>sizeof</span> (GdkRGBA));</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> <span class='keyword'>return</span> mate_panel_applet_handle_background_string (applet, color, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line">mate_panel_applet_set_background_string (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> <span class='keyword'>const</span> gchar *background)</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background == background)</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (priv-&gt;background, background) == 0)</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> g_free (priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> priv-&gt;background = background ? <span class='macro'>g_strdup (background)<span class='macro_popup'>g_strdup_inline (background)</span></span> : <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line">mate_panel_applet_handle_background (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> MatePanelAppletBackgroundType type;</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> type = mate_panel_applet_get_background (applet, &amp;color, &amp;pattern);</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> <span class='keyword'>if</span> (!gdk_screen_is_composited (gdk_screen_get_default ())) {</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> 0, PANEL_NO_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> 0, PANEL_COLOR_BACKGROUND, &amp;color, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> g_signal_emit (<span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND],</td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> 0, PANEL_PIXMAP_BACKGROUND, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, pattern);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"> cairo_pattern_destroy (pattern);</td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1562, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line">mate_panel_applet_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), ((gtk_widget_get_type (<br>)))))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> applet = MATE_PANEL_APPLET (widget);</td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;background)</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> mate_panel_applet_handle_background (applet);</td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line">mate_panel_applet_move_focus_out_of_applet (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> GtkDirectionType dir)</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> GtkWidget *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> toplevel = gtk_widget_get_toplevel (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel)<span class='macro_popup'>do { if ((toplevel)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "toplevel"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> gtk_widget_child_focus (toplevel, dir);</td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> priv-&gt;moving_focus_out = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line">mate_panel_applet_change_background(MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> MatePanelAppletBackgroundType type,</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> GdkRGBA* color,</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> cairo_pattern_t *pattern)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> window = gtk_widget_get_window (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> gtk_widget_set_app_paintable (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> _mate_panel_applet_apply_css (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>,type);</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> cairo_pattern_t *transparent = cairo_pattern_create_rgba (0, 0, 0, 0); <span class='comment'>/* Using NULL here breaks transparent */</span></td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> gdk_window_set_background_pattern (window, transparent); <span class='comment'>/* backgrounds set by GTK theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> cairo_pattern_destroy (transparent);</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> gdk_window_set_background_rgba(window,color);</td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> gdk_window_set_background_pattern(window,pattern);</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line"> gtk_widget_queue_draw (priv-&gt;plug); <span class='comment'>/*change the bg right away always */</span></td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1639, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process){</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_UP ||</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> priv-&gt;orient == MATE_PANEL_APPLET_ORIENT_DOWN)</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"horizontal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"vertical"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">mate_panel_applet_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_value_set_boolean (value, priv-&gt;out_of_process);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> g_value_set_string (value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> g_value_set_pointer (value, priv-&gt;closure);</td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> g_value_set_object (value, priv-&gt;connection);</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line"> g_value_set_string (value, priv-&gt;prefs_path);</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line"> g_value_set_uint (value, priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> g_value_set_uint (value, priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> g_value_set_string (value, priv-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> g_value_set_uint (value, priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> GVariant *variant;</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> variant = g_variant_new_array (<span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> g_value_set_pointer (value, variant);</td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> g_value_set_boolean (value, priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1717, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line">mate_panel_applet_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PROP_OUT_OF_PROCESS:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> priv-&gt;out_of_process = g_value_get_boolean (value);</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> <span class='keyword'>case</span> PROP_ID:</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> priv-&gt;id = g_value_dup_string (value);</td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>case</span> PROP_CLOSURE:</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> priv-&gt;closure = g_value_get_pointer (value);</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> g_closure_set_marshal (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> mate_panel_applet_marshal_BOOLEAN__STRING);</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>case</span> PROP_CONNECTION:</td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> priv-&gt;connection = g_value_dup_object (value);</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PROP_PREFS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENT:</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> mate_panel_applet_set_orient (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> mate_panel_applet_set_size (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>case</span> PROP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> mate_panel_applet_set_background_string (applet, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> <span class='keyword'>case</span> PROP_FLAGS:</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> mate_panel_applet_set_flags (applet, g_value_get_uint (value));</td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE_HINTS: {</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> size_hints = g_variant_get_fixed_array (g_value_get_pointer (value),</td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED:</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> mate_panel_applet_set_locked (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>case</span> PROP_LOCKED_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "mate-panel-applet.c", 1779, ("property"), _glib__property_id<br>, _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line">add_tab_bindings (GtkBindingSet *binding_set,</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> GdkModifierType modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> GtkDirectionType direction)</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_Tab<span class='macro_popup'>0xff09</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_KP_Tab<span class='macro_popup'>0xff89</span></span>, modifiers,</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> <span class='string_literal'>"move_focus_out_of_applet"</span>, 1,</td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>, direction);</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line">mate_panel_applet_setup (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> GValue value = {0, };</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> GArray *params;</td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> <span class='macro'>g_assert ((priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL))<span class='macro_popup'>do { if ((priv-&gt;id != ((void*)0)) &amp;&amp; (priv-&gt;closure<br> != ((void*)0))) ; else g_assertion_message_expr (((gchar*) 0<br>), "mate-panel-applet.c", 1807, ((const char*) (__func__)), "(priv-&gt;id != NULL) &amp;&amp; (priv-&gt;closure != NULL)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> params = g_array_sized_new (<span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='keyword'>sizeof</span> (GValue), 2);</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"> g_value_set_object (&amp;value, <span class='macro'>G_OBJECT (applet)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> g_value_set_string (&amp;value, priv-&gt;id);</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> <span class='macro'>g_array_append_val (params, value)<span class='macro_popup'>g_array_append_vals (params, &amp;(value), 1)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> value.g_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> g_value_init (&amp;value, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> g_closure_invoke (priv-&gt;closure,</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> &amp;value, params-&gt;len,</td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> (GValue *) params-&gt;data,</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; params-&gt;len; i++)</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> g_value_unset (&amp;<span class='macro'>g_array_index (params, GValue, i)<span class='macro_popup'>(((GValue*) (void *) (params)-&gt;data) [(i)])</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> g_array_free (params, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> ret = g_value_get_boolean (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> <span class='keyword'>if</span> (!ret) { <span class='comment'>/* FIXME */</span></td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> g_warning (<span class='string_literal'>"need to free the control here"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"><span class='keyword'>void</span> _mate_panel_applet_apply_css(GtkWidget* widget, MatePanelAppletBackgroundType type)</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> GtkStyleContext* context;</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (type) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_NO_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> gtk_style_context_remove_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_COLOR_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> <span class='keyword'>case</span> PANEL_PIXMAP_BACKGROUND:</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 1857, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> _mate_panel_applet_prepare_css (GtkStyleContext *context)</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gdk_display_get_default ())"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> <span class='string_literal'>"#PanelPlug {\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='string_literal'>" background-repeat: no-repeat;\n"</span> <span class='comment'>/*disable in gtk theme features */</span></td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> <span class='string_literal'>" background-size: cover; "</span> <span class='comment'>/*that don't work on panel-toplevel */</span></td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> <span class='string_literal'>" }\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> <span class='string_literal'>".mate-custom-panel-background{\n"</span> <span class='comment'>/*prepare CSS for user set theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> <span class='string_literal'>" background-color: rgba (0, 0, 0, 0);\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='string_literal'>" background-image: none;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> <span class='string_literal'>"}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> gtk_style_context_add_provider (context,</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line">mate_panel_applet_init (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> priv-&gt;flags = MATE_PANEL_APPLET_FLAGS_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> priv-&gt;orient = MATE_PANEL_APPLET_ORIENT_UP;</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> priv-&gt;size = 24;</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line"> priv-&gt;panel_action_group = gtk_action_group_new (<span class='string_literal'>"PanelActions"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> gtk_action_group_set_translation_domain (priv-&gt;panel_action_group, <span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-panel"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> gtk_action_group_add_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> menu_entries,</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_entries)<span class='macro_popup'>(sizeof (menu_entries) / sizeof ((menu_entries)[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> gtk_action_group_add_toggle_actions (priv-&gt;panel_action_group,</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> menu_toggle_entries,</td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>G_N_ELEMENTS (menu_toggle_entries)<span class='macro_popup'>(sizeof (menu_toggle_entries) / sizeof ((menu_toggle_entries)<br>[0]))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> applet);</td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> priv-&gt;ui_manager = gtk_ui_manager_new ();</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> gtk_ui_manager_insert_action_group (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> priv-&gt;panel_action_group, 1);</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> gtk_ui_manager_add_ui_from_string (priv-&gt;ui_manager,</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> panel_menu_ui, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> gtk_widget_set_events (<span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> GDK_BUTTON_RELEASE_MASK);</td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"><span class='keyword'>static</span> GObject *</td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line">mate_panel_applet_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (mate_panel_applet_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((mate_panel_applet_parent_class)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> applet = MATE_PANEL_APPLET (object);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;out_of_process)</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> priv-&gt;plug = gtk_plug_new (0);</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (priv-&gt;plug)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> gtk_widget_set_visual (widget,</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget)));</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"> gtk_widget_set_name (widget, <span class='string_literal'>"PanelPlug"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> _mate_panel_applet_prepare_css (context);</td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='macro'>g_signal_connect_swapped (priv-&gt;plug, <span class='string_literal'>"embedded"</span>,<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='macro'>G_CALLBACK (mate_panel_applet_setup),<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='macro'>applet)<span class='macro_popup'>g_signal_connect_data ((priv-&gt;plug), ("embedded"), (((GCallback<br>) (mate_panel_applet_setup))), (applet), ((void*)0), G_CONNECT_SWAPPED<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (priv-&gt;plug)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_container_get_type ()))))))</span></span>, <span class='macro'>GTK_WIDGET (applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line"> g_warning (<span class='string_literal'>"Requested construction of an out-of-process applet, which is only possible on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line">mate_panel_applet_constructed (GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> MatePanelApplet* applet = MATE_PANEL_APPLET(object);</td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> <span class='comment'>/* Rename the class to have compatibility with all GTK2 themes</span></td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>* https://github.com/perberos/Mate-Desktop-Environment/issues/27</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> gtk_widget_set_name(<span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> mate_panel_applet_register_object (applet);</td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line">mate_panel_applet_class_init (MatePanelAppletClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> gobject_class-&gt;get_property = mate_panel_applet_get_property;</td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> gobject_class-&gt;set_property = mate_panel_applet_set_property;</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> gobject_class-&gt;constructor = mate_panel_applet_constructor;</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> gobject_class-&gt;constructed = mate_panel_applet_constructed;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> klass-&gt;move_focus_out_of_applet = mate_panel_applet_move_focus_out_of_applet;</td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> klass-&gt;change_background = mate_panel_applet_change_background;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> widget_class-&gt;button_press_event = mate_panel_applet_button_press;</td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> widget_class-&gt;button_release_event = mate_panel_applet_button_release;</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> widget_class-&gt;get_request_mode = mate_panel_applet_get_request_mode;</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> widget_class-&gt;get_preferred_width = mate_panel_applet_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> widget_class-&gt;get_preferred_height = mate_panel_applet_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> widget_class-&gt;draw = mate_panel_applet_draw;</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> widget_class-&gt;size_allocate = mate_panel_applet_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> widget_class-&gt;focus = mate_panel_applet_focus;</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> widget_class-&gt;realize = mate_panel_applet_realize;</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> widget_class-&gt;key_press_event = mate_panel_applet_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> gobject_class-&gt;finalize = mate_panel_applet_finalize;</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> PROP_OUT_OF_PROCESS,</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> <span class='string_literal'>"out-of-process"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> PROP_ID,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> g_param_spec_string (<span class='string_literal'>"id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> <span class='string_literal'>"Id"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> <span class='string_literal'>"The Applet identifier"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> PROP_CLOSURE,</td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> <span class='string_literal'>"GClosure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> <span class='string_literal'>"The Applet closure"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> PROP_CONNECTION,</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> g_param_spec_object (<span class='string_literal'>"connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> <span class='string_literal'>"Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='string_literal'>"The DBus Connection"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='macro'>G_TYPE_DBUS_CONNECTION<span class='macro_popup'>(g_dbus_connection_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> G_PARAM_CONSTRUCT_ONLY |</td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> PROP_PREFS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> g_param_spec_string (<span class='string_literal'>"prefs-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='string_literal'>"PrefsPath"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> <span class='string_literal'>"GSettings Preferences Path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> PROP_ORIENT,</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> <span class='string_literal'>"Orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"> <span class='string_literal'>"Panel Applet Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_FIRST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_UP</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_ORIENT_LAST<span class='macro_popup'>MATE_PANEL_APPLET_ORIENT_RIGHT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> MATE_PANEL_APPLET_ORIENT_UP,</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='string_literal'>"Panel Applet Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> 0, <span class='macro'>G_MAXUINT<span class='macro_popup'>(2147483647 *2U +1U)</span></span>, 0,</td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> PROP_BACKGROUND,</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> g_param_spec_string (<span class='string_literal'>"background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> <span class='string_literal'>"Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> <span class='string_literal'>"Panel Applet Background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> PROP_FLAGS,</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> g_param_spec_uint (<span class='string_literal'>"flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='string_literal'>"Flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='string_literal'>"Panel Applet flags"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> <span class='macro'>MATE_PANEL_APPLET_FLAGS_ALL<span class='macro_popup'>(MATE_PANEL_APPLET_EXPAND_MAJOR|MATE_PANEL_APPLET_EXPAND_MINOR<br>|MATE_PANEL_APPLET_HAS_HANDLE)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> MATE_PANEL_APPLET_FLAGS_NONE,</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> PROP_SIZE_HINTS,</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> <span class='comment'>/* FIXME: value_array? */</span></td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> g_param_spec_pointer (<span class='string_literal'>"size-hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='string_literal'>"SizeHints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> <span class='string_literal'>"Panel Applet Size Hints"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> PROP_LOCKED,</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='string_literal'>"Locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> g_object_class_install_property (gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> PROP_LOCKED_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> g_param_spec_boolean (<span class='string_literal'>"locked-down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> <span class='string_literal'>"LockedDown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> <span class='string_literal'>"Whether Panel Applet is locked down"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> G_PARAM_READWRITE));</td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> mate_panel_applet_signals [CHANGE_ORIENT] =</td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> g_signal_new (<span class='string_literal'>"change-orient"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_orient)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_orient<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__UINT<span class='macro_popup'>g_cclosure_marshal_VOID__UINT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> mate_panel_applet_signals [CHANGE_SIZE] =</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_signal_new (<span class='string_literal'>"change-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_size)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_size<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__INT<span class='macro_popup'>g_cclosure_marshal_VOID__INT</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line"> <span class='macro'>G_TYPE_INT<span class='macro_popup'>((GType) ((6) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"> mate_panel_applet_signals [CHANGE_BACKGROUND] =</td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line"> g_signal_new (<span class='string_literal'>"change-background"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, change_background)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, change_background<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> mate_panel_applet_marshal_VOID__ENUM_BOXED_OBJECT,</td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> 3,</td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='macro'>PANEL_TYPE_MATE_PANEL_APPLET_BACKGROUND_TYPE<span class='macro_popup'>mate_panel_applet_background_type_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> <span class='macro'>GDK_TYPE_RGBA<span class='macro_popup'>(gdk_rgba_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='macro'>CAIRO_GOBJECT_TYPE_PATTERN<span class='macro_popup'>cairo_gobject_pattern_get_type ()</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> mate_panel_applet_signals [MOVE_FOCUS_OUT_OF_APPLET] =</td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> g_signal_new (<span class='string_literal'>"move_focus_out_of_applet"</span>,</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (klass)<span class='macro_popup'>(((GTypeClass*) (klass))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (MatePanelAppletClass, move_focus_out_of_applet)<span class='macro_popup'>((glong) __builtin_offsetof(MatePanelAppletClass, move_focus_out_of_applet<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='macro'>mate_panel_applet_marshal_VOID__ENUM<span class='macro_popup'>g_cclosure_marshal_VOID__ENUM</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> <span class='macro'>GTK_TYPE_DIRECTION_TYPE<span class='macro_popup'>(gtk_direction_type_get_type ())</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> binding_set = gtk_binding_set_by_class (gobject_class);</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> add_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelApplet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line">GtkWidget* mate_panel_applet_new(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> MatePanelApplet* applet = g_object_new(<span class='macro'>PANEL_TYPE_APPLET<span class='macro_popup'>mate_panel_applet_get_type ()</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET(applet)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"><span class='keyword'>static</span> GdkEvent *</td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line">button_press_event_new (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> guint button,</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> guint time)</td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> GdkEvent *event;</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> device = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> event = gdk_event_new (GDK_BUTTON_PRESS);</td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> event-&gt;button.time = time;</td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> event-&gt;button.button = button;</td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> gdk_event_set_device (event, device);</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> <span class='keyword'>return</span> event;</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line">method_call_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> <span class='keyword'>const</span> gchar *method_name,</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> GVariant *parameters,</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> GDBusMethodInvocation *invocation,</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (method_name, <span class='string_literal'>"PopupMenu"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> guint button;</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> guint time;</td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> g_variant_get (parameters, <span class='string_literal'>"(uu)"</span>, &amp;button, &amp;time);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> GdkEvent *event = button_press_event_new (applet, button, time);</td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> mate_panel_applet_menu_popup (applet, event);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> gdk_event_free (event);</td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> g_dbus_method_invocation_return_value (invocation, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"><span class='keyword'>static</span> GVariant *</td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line">get_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> GVariant *retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> priv = mate_panel_applet_get_instance_private (MATE_PANEL_APPLET (user_data));</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> retval = g_variant_new_string (priv-&gt;prefs_path ? priv-&gt;prefs_path : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;orient);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> retval = g_variant_new_string (priv-&gt;background ? priv-&gt;background : <span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> retval = g_variant_new_uint32 (priv-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> GVariant **children;</td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> gint i;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> children = <span class='macro'>g_new (GVariant *, priv-&gt;size_hints_len)<span class='macro_popup'>((GVariant * *) g_malloc_n ((priv-&gt;size_hints_len), sizeof<br> (GVariant *)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; priv-&gt;size_hints_len; i++)</td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> children[i] = g_variant_new_int32 (priv-&gt;size_hints[i]);</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> retval = g_variant_new_array (<span class="mrange"><span class="mrange"><span class='macro'>G_VARIANT_TYPE_INT32<span class='macro_popup'>((const GVariantType *) "i")</span></span></span></span>,</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:47ex; max-width:31em">Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption</div></td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> children, priv-&gt;size_hints_len);</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> g_free (children);</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked);</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> retval = g_variant_new_boolean (priv-&gt;locked_down);</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line">set_property_cb (GDBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> <span class='keyword'>const</span> gchar *sender,</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line"> <span class='keyword'>const</span> gchar *object_path,</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> <span class='keyword'>const</span> gchar *interface_name,</td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"> <span class='keyword'>const</span> gchar *property_name,</td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line"> GVariant *value,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> GError **error,</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> MatePanelApplet *applet = MATE_PANEL_APPLET (user_data);</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"PrefsPath"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> mate_panel_applet_set_preferences_path (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Orient"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> mate_panel_applet_set_orient (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Size"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> mate_panel_applet_set_size (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Background"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> mate_panel_applet_set_background_string (applet, g_variant_get_string (value, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Flags"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> mate_panel_applet_set_flags (applet, g_variant_get_uint32 (value));</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"SizeHints"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>int</span> *size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> gsize n_elements;</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> size_hints = g_variant_get_fixed_array (value, &amp;n_elements, <span class='keyword'>sizeof</span> (gint32));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> mate_panel_applet_set_size_hints (applet, size_hints, n_elements, 0);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"Locked"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> mate_panel_applet_set_locked (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (g_strcmp0 (property_name, <span class='string_literal'>"LockedDown"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> mate_panel_applet_set_locked_down (applet, g_variant_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> gchar introspection_xml[] =</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> <span class='string_literal'>"&lt;node&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='string_literal'>"&lt;interface name='org.mate.panel.applet.Applet'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line"> <span class='string_literal'>"&lt;method name='PopupMenu'&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> <span class='string_literal'>"&lt;arg name='button' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"> <span class='string_literal'>"&lt;arg name='time' type='u' direction='in'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line"> <span class='string_literal'>"&lt;/method&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='string_literal'>"&lt;property name='PrefsPath' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='string_literal'>"&lt;property name='Orient' type='u' access='readwrite' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='string_literal'>"&lt;property name='Size' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line"> <span class='string_literal'>"&lt;property name='Background' type='s' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='string_literal'>"&lt;property name='Flags' type='u' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> <span class='string_literal'>"&lt;property name='SizeHints' type='ai' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> <span class='string_literal'>"&lt;property name='Locked' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> <span class='string_literal'>"&lt;property name='LockedDown' type='b' access='readwrite'/&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='string_literal'>"&lt;signal name='Move' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='string_literal'>"&lt;signal name='RemoveFromPanel' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='string_literal'>"&lt;signal name='Lock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> <span class='string_literal'>"&lt;signal name='Unlock' /&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='string_literal'>"&lt;/interface&gt;"</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> <span class='string_literal'>"&lt;/node&gt;"</span>;</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GDBusInterfaceVTable interface_vtable = {</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> method_call_cb,</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> get_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> set_property_cb,</td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> { 0 }</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"><span class='keyword'>static</span> GDBusNodeInfo *introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line">mate_panel_applet_register_object (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>static</span> gint id = 0;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> <span class='keyword'>if</span> (!introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> priv-&gt;object_path = g_strdup_printf (<span class='macro'>MATE_PANEL_APPLET_OBJECT_PATH<span class='macro_popup'>"/org/mate/panel/applet/%s/%d"</span></span>, priv-&gt;id, id++);</td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> priv-&gt;object_id =</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> g_dbus_connection_register_object (priv-&gt;connection,</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> priv-&gt;object_path,</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> introspection_data-&gt;interfaces[0],</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> &amp;interface_vtable,</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> applet, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>if</span> (!priv-&gt;object_id) {</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> g_printerr (<span class='string_literal'>"Failed to register object %s: %s\n"</span>, priv-&gt;object_path, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> mate_panel_applet_factory_main_finalized(gpointer data, GObject* object)</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> gtk_main_quit();</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> <span class='keyword'>if</span> (introspection_data)</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> g_dbus_node_info_unref(introspection_data);</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> introspection_data = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span> (*_x_error_func) (Display *, XErrorEvent *);</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line">_x_error_handler (Display *display, XErrorEvent *error)</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (!error-&gt;error_code)</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='comment'>/* If we got a BadDrawable or a BadWindow, we ignore it for now.</span></td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> <span class='comment'>* FIXME: We need to somehow distinguish real errors from</span></td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> <span class='comment'>* X-server-induced errors. Keeping a list of windows for which we</span></td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> <span class='comment'>* will ignore BadDrawables would be a good idea. */</span></td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> <span class='keyword'>if</span> (error-&gt;error_code == <span class='macro'>BadDrawable<span class='macro_popup'>9</span></span> ||</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> error-&gt;error_code == <span class='macro'>BadWindow<span class='macro_popup'>3</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> <span class='keyword'>return</span> _x_error_func (display, error);</td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> <span class='comment'>* To do graphical embedding in the X window system, MATE Panel</span></td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> <span class='comment'>* uses the classic foreign-window-reparenting trick. The</span></td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='comment'>* GtkPlug/GtkSocket widgets are used for this purpose. However,</span></td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line"> <span class='comment'>* serious robustness problems arise if the GtkSocket end of the</span></td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> <span class='comment'>* connection unexpectedly dies. The X server sends out DestroyNotify</span></td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"> <span class='comment'>* events for the descendants of the GtkPlug (i.e., your embedded</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line"> <span class='comment'>* component's windows) in effectively random order. Furthermore, if</span></td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> <span class='comment'>* you happened to be drawing on any of those windows when the</span></td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line"> <span class='comment'>* GtkSocket was destroyed (a common state of affairs), an X error</span></td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> <span class='comment'>* will kill your application.</span></td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> <span class='comment'>* To solve this latter problem, MATE Panel sets up its own X error</span></td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> <span class='comment'>* handler which ignores certain X errors that might have been</span></td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> <span class='comment'>* caused by such a scenario. Other X errors get passed to gdk_x_error</span></td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='comment'>* normally.</span></td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line">_mate_panel_applet_setup_x_error_handler (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>static</span> gboolean error_handler_setup = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> <span class='keyword'>if</span> (error_handler_setup)</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> error_handler_setup = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> _x_error_func = XSetErrorHandler (_x_error_handler);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line">_mate_panel_applet_factory_main_internal (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> gboolean out_process,</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> MatePanelAppletFactory* factory;</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> GClosure* closure;</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='macro'>g_return_val_if_fail(factory_id != NULL, 1)<span class='macro_popup'>do { if ((factory_id != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "factory_id != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> <span class='macro'>g_return_val_if_fail(callback != NULL, 1)<span class='macro_popup'>do { if ((callback != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "callback != NULL"<br>); return (1); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> <span class='macro'>g_assert(g_type_is_a(applet_type, PANEL_TYPE_APPLET))<span class='macro_popup'>do { if (((applet_type) == (mate_panel_applet_get_type ()) ||<br> (g_type_is_a) ((applet_type), (mate_panel_applet_get_type ()<br>)))) ; else g_assertion_message_expr (((gchar*) 0), "mate-panel-applet.c"<br>, 2425, ((const char*) (__func__)), "g_type_is_a(applet_type, PANEL_TYPE_APPLET)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='comment'>/*Use this both in and out of process as the tray applet always uses GtkSocket</span></td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> <span class='comment'>*to handle GtkStatusIcons whether the tray itself is built in or out of process</span></td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> _mate_panel_applet_setup_x_error_handler();</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> { <span class='comment'>/* not using X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>if</span> (out_process) {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> g_warning(<span class='string_literal'>"Requested out-of-process applet, which is only supported on X11"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> closure = g_cclosure_new(<span class='macro'>G_CALLBACK(callback)<span class='macro_popup'>((GCallback) (callback))</span></span>, user_data, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> factory = mate_panel_applet_factory_new(factory_id, out_process, applet_type, closure);</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> g_closure_unref(closure);</td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> <span class='keyword'>if</span> (mate_panel_applet_factory_register_service(factory))</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> <span class='keyword'>if</span> (out_process)</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> g_object_weak_ref(<span class='macro'>G_OBJECT(factory)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((factory)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, mate_panel_applet_factory_main_finalized, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> gtk_main();</td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> g_object_unref (factory);</td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_main:</span></td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> <span class='comment'>* @out_process: boolean, dummy to support applets sending it</span></td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line">mate_panel_applet_factory_main (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> gboolean out_process, <span class='comment'>/*Dummy to support applets w issues with this */</span></td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='comment'>* mate_panel_applet_factory_setup_in_process: (skip)</span></td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> <span class='comment'>* @factory_id: Factory ID.</span></td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='comment'>* @applet_type: GType of the applet this factory creates.</span></td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> <span class='comment'>* @callback: (scope call): Callback to be called when a new applet is to be created.</span></td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='comment'>* @data: (closure): Callback data.</span></td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='comment'>* Returns: 0 on success, 1 if there is an error.</span></td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line">mate_panel_applet_factory_setup_in_process (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> GType applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> MatePanelAppletFactoryCallback callback,</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> <span class='keyword'>return</span> _mate_panel_applet_factory_main_internal (factory_id, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, applet_type,</td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"> callback, user_data);</td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> <span class='comment'>* mate_panel_applet_set_background_widget:</span></td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> <span class='comment'>* @applet: a #PanelApplet.</span></td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> <span class='comment'>* @widget: a #GtkWidget.</span></td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> <span class='comment'>* Configure #PanelApplet to automatically draw the background of the applet on</span></td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> <span class='comment'>* @widget. It is generally enough to call this function with @applet as</span></td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"> <span class='comment'>* @widget.</span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='comment'>* Deprecated: 3.20: Do not use this API. Since 3.20 this function does nothing.</span></td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line">mate_panel_applet_set_background_widget (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line">guint32</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line">mate_panel_applet_get_xid (MatePanelApplet *applet,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> GdkScreen *screen)</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> <span class='comment'>/* out_of_process should only be true on X11, so an extra runtime Wayland check is not needed */</span></td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line"> <span class='keyword'>if</span> (priv-&gt;out_of_process == <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (priv-&gt;plug)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_window_get_type ()))))))</span></span>, screen);</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> gtk_widget_show (priv-&gt;plug);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> <span class='keyword'>return</span> gtk_plug_get_id (<span class='macro'>GTK_PLUG (priv-&gt;plug)<span class='macro_popup'>((((GtkPlug*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((priv-&gt;plug)), ((gtk_plug_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"><span class='keyword'>const</span> gchar *</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">mate_panel_applet_get_object_path (MatePanelApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"> MatePanelAppletPrivate *priv;</td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line"> priv = mate_panel_applet_get_instance_private (applet);</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> <span class='keyword'>return</span> priv-&gt;object_path;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"><span class='macro'>G_MODULE_EXPORT<span class='macro_popup'>__attribute__((visibility("default")))</span></span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line">mate_panel_applet_get_applet_widget (<span class='keyword'>const</span> gchar *factory_id,</td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> guint uid)</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> widget = mate_panel_applet_factory_get_applet_widget (factory_id, uid);</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>if</span> (!widget) {</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> mate_panel_applet_setup (MATE_PANEL_APPLET (widget));</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>return</span> widget;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-fb6164.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-fb6164.html
new file mode 100644
index 00000000..a50f6aaf
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-fb6164.html
@@ -0,0 +1,1409 @@
+<!doctype html>
+<html>
+<head>
+<title>/rootdir/libmate-panel-applet/tmp-introspect_iivi73i/MatePanelApplet-4.0.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC This statement is never executed -->
+
+<!-- BUGTYPE Unreachable code -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/libmate-panel-applet/tmp-introspect_iivi73i/MatePanelApplet-4.0.c -->
+
+<!-- FILENAME MatePanelApplet-4.0.c -->
+
+<!-- FUNCTIONNAME value_to_string -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT fb6164c030ad64bf87b67ba4bdb4d46c -->
+
+<!-- BUGLINE 181 -->
+
+<!-- BUGCOLUMN 11 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>libmate-panel-applet/tmp-introspect_iivi73i/MatePanelApplet-4.0.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 181, column 11</a><br />This statement is never executed</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name MatePanelApplet-4.0.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/libmate-panel-applet -resource-dir /usr/bin/../lib/clang/17 -D MATELOCALEDIR="/usr/local/share/locale" -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/harfbuzz -I /usr/include/atk-1.0 -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/at-spi2-atk/2.0 -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gio-unix-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libmount -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -I /rootdir/libmate-panel-applet -I /rootdir/libmate-panel-applet -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-deprecated-declarations -fdebug-compilation-dir=/rootdir/libmate-panel-applet -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c /rootdir/libmate-panel-applet/tmp-introspect_iivi73i/MatePanelApplet-4.0.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"181": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* This file is generated, do not edit */</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"><span class='directive'>#undef <span class='macro'>GLIB_VERSION_MIN_REQUIRED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"><span class='directive'>#undef <span class='macro'>GLIB_VERSION_MAX_ALLOWED<span class='macro_popup'>((((2) &lt;&lt; 16 | (78) &lt;&lt; 8)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"><span class='directive'>#include &lt;glib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"><span class='comment'>/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* GObject introspection: Dump introspection data</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* Copyright (C) 2008 Colin Walters &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU Lesser General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Lesser General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU Lesser General Public</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> <span class='comment'>* Free Software Foundation, Inc., 59 Temple Place - Suite 330,</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> <span class='comment'>* Boston, MA 02111-1307, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;glib-object.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='comment'>/* This file is both compiled into libgirepository.so, and installed</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> <span class='comment'>* on the filesystem. But for the dumper, we want to avoid linking</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> <span class='comment'>* to libgirepository; see</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> <span class='comment'>* https://bugzilla.gnome.org/show_bug.cgi?id=630342</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#ifdef G_IREPOSITORY_COMPILATION</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "config.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "girepository.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line">escaped_printf (GOutputStream *out, <span class='keyword'>const</span> <span class='keyword'>char</span> *fmt, ...) <span class='macro'>G_GNUC_PRINTF (2, 3)<span class='macro_popup'>__attribute__((__format__ (__printf__, 2, 3)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line">escaped_printf (GOutputStream *out, <span class='keyword'>const</span> <span class='keyword'>char</span> *fmt, ...)</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> <span class='keyword'>char</span> *str;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> va_list args;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> gsize written;</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='macro'>va_start (args, fmt)<span class='macro_popup'>__builtin_va_start(args, fmt)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> str = g_markup_vprintf_escaped (fmt, args);</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>if</span> (!g_output_stream_write_all (out, str, strlen (str), &amp;written, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error))</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> g_critical (<span class='string_literal'>"failed to write to iochannel: %s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> g_clear_error (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> g_free (str);</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='macro'>va_end (args)<span class='macro_popup'>__builtin_va_end(args)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line">goutput_write (GOutputStream *out, <span class='keyword'>const</span> <span class='keyword'>char</span> *str)</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> gsize written;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> <span class='keyword'>if</span> (!g_output_stream_write_all (out, str, strlen (str), &amp;written, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;error))</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> g_critical (<span class='string_literal'>"failed to write to iochannel: %s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> g_clear_error (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"><span class='keyword'>typedef</span> GType (*GetTypeFunc)(<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"><span class='keyword'>typedef</span> GQuark (*ErrorQuarkFunc)(<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>static</span> GType</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line">invoke_get_type (GModule *self, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GError **error)</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> GetTypeFunc sym;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> GType ret;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>if</span> (!g_module_symbol (self, symbol, (<span class='keyword'>void</span>**)&amp;sym))</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> g_set_error (error,</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='macro'>G_IO_ERROR<span class='macro_popup'>g_io_error_quark()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> G_IO_ERROR_FAILED,</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='string_literal'>"Failed to find symbol '%s'"</span>, symbol);</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> ret = sym ();</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='keyword'>if</span> (ret == <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> g_set_error (error,</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='macro'>G_IO_ERROR<span class='macro_popup'>g_io_error_quark()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> G_IO_ERROR_FAILED,</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='string_literal'>"Function '%s' returned G_TYPE_INVALID"</span>, symbol);</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"><span class='keyword'>static</span> GQuark</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line">invoke_error_quark (GModule *self, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GError **error)</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> ErrorQuarkFunc sym;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>if</span> (!g_module_symbol (self, symbol, (<span class='keyword'>void</span>**)&amp;sym))</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> g_set_error (error,</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> <span class='macro'>G_IO_ERROR<span class='macro_popup'>g_io_error_quark()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> G_IO_ERROR_FAILED,</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='string_literal'>"Failed to find symbol '%s'"</span>, symbol);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>return</span> sym ();</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line">value_transform_to_string (<span class='keyword'>const</span> GValue *value)</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> GValue tmp = <span class='macro'>G_VALUE_INIT<span class='macro_popup'>{ 0, { { 0 } } }</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='keyword'>char</span> *s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> g_value_init (&amp;tmp, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>if</span> (g_value_transform (value, &amp;tmp))</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *str = g_value_get_string (&amp;tmp);</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>if</span> (str != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> s = g_strescape (str, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> g_value_unset (&amp;tmp);</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>return</span> s;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"><span class='comment'>/* A simpler version of g_strdup_value_contents(), but with stable</span></td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='comment'>* output and less complex semantics</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line">value_to_string (<span class='keyword'>const</span> GValue *value)</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='keyword'>if</span> (value == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_VALUE_HOLDS_STRING (value)<span class='macro_popup'>(((__extension__ ({ const GValue *__val = (const GValue*) ((value<br>)); GType __t = (((GType) ((16) &lt;&lt; (2)))); gboolean __r<br>; if (!__val) __r = (0); else if (__val-&gt;g_type == __t) __r<br> = (!(0)); else __r = g_type_check_value_holds (__val, __t); __r<br>; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *s = g_value_get_string (value);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>if</span> (s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>g_strdup (<span class='string_literal'>"NULL"</span>)<span class='macro_popup'>g_strdup_inline ("NULL")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>return</span> g_strescape (s, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GType value_type = <span class='macro'>G_VALUE_TYPE (value)<span class='macro_popup'>(((GValue*) (value))-&gt;g_type)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> <span class='keyword'>switch</span> (<span class='macro'>G_TYPE_FUNDAMENTAL (value_type)<span class='macro_popup'>(g_type_fundamental (value_type))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_BOXED<span class='macro_popup'>((GType) ((18) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> <span class='keyword'>if</span> (g_value_get_boxed (value) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> <span class='keyword'>return</span> value_transform_to_string (value);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> <span class="mrange"><span class='keyword'>break</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:11ex">This statement is never executed</div></td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>if</span> (g_value_get_object (value) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class='keyword'>return</span> value_transform_to_string (value);</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_POINTER<span class='macro_popup'>((GType) ((17) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> <span class='keyword'>return</span> value_transform_to_string (value);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line">dump_properties (GType type, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> guint n_properties;</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> GParamSpec **props;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_TYPE_FUNDAMENTAL (type)<span class='macro_popup'>(g_type_fundamental (type))</span></span> == <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> GObjectClass *klass;</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> klass = g_type_class_ref (type);</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> props = g_object_class_list_properties (klass, &amp;n_properties);</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> <span class='keyword'>void</span> *klass;</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> klass = g_type_default_interface_ref (type);</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> props = g_object_interface_list_properties (klass, &amp;n_properties);</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_properties; i++)</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> GParamSpec *prop;</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> prop = props[i];</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> <span class='keyword'>if</span> (prop-&gt;owner_type != type)</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> <span class='keyword'>const</span> GValue *v = g_param_spec_get_default_value (prop);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='keyword'>char</span> *default_value = value_to_string (v);</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> <span class='keyword'>if</span> (v != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp; default_value != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;property name=\"%s\" type=\"%s\" flags=\"%d\" default-value=\"%s\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> prop-&gt;name,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> g_type_name (prop-&gt;value_type),</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> prop-&gt;flags,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> default_value);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;property name=\"%s\" type=\"%s\" flags=\"%d\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> prop-&gt;name,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_type_name (prop-&gt;value_type),</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> prop-&gt;flags);</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> g_free (default_value);</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> g_free (props);</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line">dump_signals (GType type, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint n_sigs;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> guint *sig_ids;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> sig_ids = g_signal_list_ids (type, &amp;n_sigs);</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_sigs; i++)</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> guint sigid;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> GSignalQuery query;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> guint j;</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> sigid = sig_ids[i];</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> g_signal_query (sigid, &amp;query);</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;signal name=\"%s\" return=\"%s\""</span>,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> query.signal_name, g_type_name (query.return_type));</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_RUN_FIRST)</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> escaped_printf (out, <span class='string_literal'>" when=\"first\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_RUN_LAST)</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> escaped_printf (out, <span class='string_literal'>" when=\"last\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_RUN_CLEANUP)</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> escaped_printf (out, <span class='string_literal'>" when=\"cleanup\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION(2, 29, 15)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (29)) || (2 == (2<br>) &amp;&amp; 78 == (29) &amp;&amp; 3 &gt;= (15)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_MUST_COLLECT)</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> escaped_printf (out, <span class='string_literal'>" when=\"must-collect\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_NO_RECURSE)</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> escaped_printf (out, <span class='string_literal'>" no-recurse=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_DETAILED)</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> escaped_printf (out, <span class='string_literal'>" detailed=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_ACTION)</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> escaped_printf (out, <span class='string_literal'>" action=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class='keyword'>if</span> (query.signal_flags &amp; G_SIGNAL_NO_HOOKS)</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> escaped_printf (out, <span class='string_literal'>" no-hooks=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> goutput_write (out, <span class='string_literal'>"&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>for</span> (j = 0; j &lt; query.n_params; j++)</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;param type=\"%s\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> g_type_name (query.param_types[j]));</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> goutput_write (out, <span class='string_literal'>" &lt;/signal&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (sig_ids);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line">dump_object_type (GType type, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> guint n_interfaces;</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GType *interfaces;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;class name=\"%s\" get-type=\"%s\""</span>,</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> g_type_name (type), symbol);</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (type != <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> GString *parent_str;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> GType parent;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> gboolean first = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> parent = g_type_parent (type);</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> parent_str = g_string_new (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>while</span> (parent != <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> <span class='keyword'>if</span> (first)</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> first = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> <span class='macro'>g_string_append_c (parent_str, ',')<span class='macro_popup'>g_string_append_c_inline (parent_str, ',')</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> <span class='macro'>g_string_append (parent_str, g_type_name (parent))<span class='macro_popup'>(__builtin_constant_p (g_type_name (parent)) ? __extension__ (<br>{ const char * const __val = (g_type_name (parent)); g_string_append_len_inline<br> (parent_str, __val, (__val != ((void*)0)) ? (gssize) strlen (<br>((__val) + !(__val))) : (gssize) -1); }) : g_string_append_len_inline<br> (parent_str, g_type_name (parent), (gssize) -1))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> parent = g_type_parent (parent);</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> escaped_printf (out, <span class='string_literal'>" parents=\"%s\""</span>, parent_str-&gt;str);</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='macro'>g_string_free (parent_str, TRUE)<span class='macro_popup'>(__builtin_constant_p ((!(0))) ? (((!(0))) ? (g_string_free) (<br>(parent_str), ((!(0)))) : g_string_free_and_steal (parent_str<br>)) : (g_string_free) ((parent_str), ((!(0)))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_TYPE_IS_ABSTRACT (type)<span class='macro_popup'>(g_type_test_flags ((type), G_TYPE_FLAG_ABSTRACT))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> escaped_printf (out, <span class='string_literal'>" abstract=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION (2, 70, 0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (70)) || (2 == (2<br>) &amp;&amp; 78 == (70) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_TYPE_IS_FINAL (type)<span class='macro_popup'>(g_type_test_flags ((type), G_TYPE_FLAG_FINAL))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> escaped_printf (out, <span class='string_literal'>" final=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> goutput_write (out, <span class='string_literal'>"&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> interfaces = g_type_interfaces (type, &amp;n_interfaces);</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_interfaces; i++)</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> GType itype = interfaces[i];</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;implements name=\"%s\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> g_type_name (itype));</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> g_free (interfaces);</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> dump_properties (type, out);</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> dump_signals (type, out);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> goutput_write (out, <span class='string_literal'>" &lt;/class&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line">dump_interface_type (GType type, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> guint n_interfaces;</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> GType *interfaces;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;interface name=\"%s\" get-type=\"%s\"&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> g_type_name (type), symbol);</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> interfaces = g_type_interface_prerequisites (type, &amp;n_interfaces);</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_interfaces; i++)</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> GType itype = interfaces[i];</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> <span class='keyword'>if</span> (itype == <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> <span class='comment'>/* Treat this as implicit for now; in theory GInterfaces are</span></td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='comment'>* supported on things like GstMiniObject, but right now</span></td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='comment'>* the introspection system only supports GObject.</span></td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='comment'>* http://bugzilla.gnome.org/show_bug.cgi?id=559706</span></td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;prerequisite name=\"%s\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> g_type_name (itype));</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> g_free (interfaces);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> dump_properties (type, out);</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> dump_signals (type, out);</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> goutput_write (out, <span class='string_literal'>" &lt;/interface&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line">dump_boxed_type (GType type, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;boxed name=\"%s\" get-type=\"%s\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> g_type_name (type), symbol);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">dump_flags_type (GType type, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> GFlagsClass *klass;</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> klass = g_type_class_ref (type);</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;flags name=\"%s\" get-type=\"%s\"&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> g_type_name (type), symbol);</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; klass-&gt;n_values; i++)</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> GFlagsValue *value = &amp;(klass-&gt;values[i]);</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;member name=\"%s\" nick=\"%s\" value=\"%u\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> value-&gt;value_name, value-&gt;value_nick, value-&gt;value);</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> goutput_write (out, <span class='string_literal'>" &lt;/flags&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line">dump_enum_type (GType type, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> GEnumClass *klass;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> klass = g_type_class_ref (type);</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;enum name=\"%s\" get-type=\"%s\"&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> g_type_name (type), symbol);</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; klass-&gt;n_values; i++)</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> GEnumValue *value = &amp;(klass-&gt;values[i]);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;member name=\"%s\" nick=\"%s\" value=\"%d\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> value-&gt;value_name, value-&gt;value_nick, value-&gt;value);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> goutput_write (out, <span class='string_literal'>" &lt;/enum&gt;"</span>);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line">dump_fundamental_type (GType type, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> guint n_interfaces;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GType *interfaces;</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> GString *parent_str;</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> GType parent;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> gboolean first = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;fundamental name=\"%s\" get-type=\"%s\""</span>,</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> g_type_name (type), symbol);</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_TYPE_IS_ABSTRACT (type)<span class='macro_popup'>(g_type_test_flags ((type), G_TYPE_FLAG_ABSTRACT))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> escaped_printf (out, <span class='string_literal'>" abstract=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION (2, 70, 0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (70)) || (2 == (2<br>) &amp;&amp; 78 == (70) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_TYPE_IS_FINAL (type)<span class='macro_popup'>(g_type_test_flags ((type), G_TYPE_FLAG_FINAL))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> escaped_printf (out, <span class='string_literal'>" final=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>G_TYPE_IS_INSTANTIATABLE (type)<span class='macro_popup'>(g_type_test_flags ((type), G_TYPE_FLAG_INSTANTIATABLE))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> escaped_printf (out, <span class='string_literal'>" instantiatable=\"1\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> parent = g_type_parent (type);</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> parent_str = g_string_new (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span class='keyword'>while</span> (parent != <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> <span class='keyword'>if</span> (first)</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> first = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> <span class='macro'>g_string_append_c (parent_str, ',')<span class='macro_popup'>g_string_append_c_inline (parent_str, ',')</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>if</span> (!g_type_name (parent))</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_string_append (parent_str, g_type_name (parent))<span class='macro_popup'>(__builtin_constant_p (g_type_name (parent)) ? __extension__ (<br>{ const char * const __val = (g_type_name (parent)); g_string_append_len_inline<br> (parent_str, __val, (__val != ((void*)0)) ? (gssize) strlen (<br>((__val) + !(__val))) : (gssize) -1); }) : g_string_append_len_inline<br> (parent_str, g_type_name (parent), (gssize) -1))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> parent = g_type_parent (parent);</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>if</span> (parent_str-&gt;len &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> escaped_printf (out, <span class='string_literal'>" parents=\"%s\""</span>, parent_str-&gt;str);</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='macro'>g_string_free (parent_str, TRUE)<span class='macro_popup'>(__builtin_constant_p ((!(0))) ? (((!(0))) ? (g_string_free) (<br>(parent_str), ((!(0)))) : g_string_free_and_steal (parent_str<br>)) : (g_string_free) ((parent_str), ((!(0)))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> goutput_write (out, <span class='string_literal'>"&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> interfaces = g_type_interfaces (type, &amp;n_interfaces);</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; n_interfaces; i++)</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> GType itype = interfaces[i];</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;implements name=\"%s\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> g_type_name (itype));</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> g_free (interfaces);</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> goutput_write (out, <span class='string_literal'>" &lt;/fundamental&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line">dump_type (GType type, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> <span class='keyword'>switch</span> (g_type_fundamental (type))</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> dump_object_type (type, symbol, out);</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_INTERFACE<span class='macro_popup'>((GType) ((2) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> dump_interface_type (type, symbol, out);</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_BOXED<span class='macro_popup'>((GType) ((18) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> dump_boxed_type (type, symbol, out);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_FLAGS<span class='macro_popup'>((GType) ((13) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> dump_flags_type (type, symbol, out);</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_ENUM<span class='macro_popup'>((GType) ((12) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> dump_enum_type (type, symbol, out);</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>G_TYPE_POINTER<span class='macro_popup'>((GType) ((17) &lt;&lt; (2)))</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> <span class='comment'>/* GValue, etc. Just skip them. */</span></td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> dump_fundamental_type (type, symbol, out);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">dump_error_quark (GQuark quark, <span class='keyword'>const</span> <span class='keyword'>char</span> *symbol, GOutputStream *out)</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> escaped_printf (out, <span class='string_literal'>" &lt;error-quark function=\"%s\" domain=\"%s\"/&gt;\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> symbol, g_quark_to_string (quark));</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> <span class='comment'>* g_irepository_dump:</span></td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='comment'>* @arg: Comma-separated pair of input and output filenames</span></td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='comment'>* @error: a %GError</span></td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='comment'>* Argument specified is a comma-separated pair of filenames; i.e. of</span></td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='comment'>* the form "input.txt,output.xml". The input file should be a</span></td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='comment'>* UTF-8 Unix-line-ending text file, with each line containing either</span></td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> <span class='comment'>* "get-type:" followed by the name of a GType _get_type function, or</span></td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='comment'>* "error-quark:" followed by the name of an error quark function. No</span></td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='comment'>* extra whitespace is allowed.</span></td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='comment'>* The output file should already exist, but be empty. This function will</span></td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='comment'>* overwrite its contents.</span></td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='comment'>* Returns: %TRUE on success, %FALSE on error</span></td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"><span class='directive'>#ifndef G_IREPOSITORY_COMPILATION</span></td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">dump_irepository (<span class='keyword'>const</span> <span class='keyword'>char</span> *arg, GError **error) <span class='macro'>G_GNUC_UNUSED<span class='macro_popup'>__attribute__ ((__unused__))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line">dump_irepository (<span class='keyword'>const</span> <span class='keyword'>char</span> *arg, GError **error)</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line">g_irepository_dump (<span class='keyword'>const</span> <span class='keyword'>char</span> *arg, GError **error)</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> GHashTable *output_types;</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> <span class='keyword'>char</span> **args;</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> GFile *input_file;</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> GFile *output_file;</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> GFileInputStream *input;</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> GFileOutputStream *output;</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> GDataInputStream *in;</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> GModule *self;</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gboolean caught_error = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> self = g_module_open (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> <span class='keyword'>if</span> (!self)</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> g_set_error (error,</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> <span class='macro'>G_IO_ERROR<span class='macro_popup'>g_io_error_quark()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> G_IO_ERROR_FAILED,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> <span class='string_literal'>"failed to open self: %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> g_module_error ());</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> args = g_strsplit (arg, <span class='string_literal'>","</span>, 2);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> input_file = g_file_new_for_path (args[0]);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> output_file = g_file_new_for_path (args[1]);</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> g_strfreev (args);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> input = g_file_read (input_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, error);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> g_object_unref (input_file);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> <span class='keyword'>if</span> (input == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> g_object_unref (output_file);</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> output = g_file_replace (output_file, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, error);</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> g_object_unref (output_file);</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> <span class='keyword'>if</span> (output == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> g_input_stream_close (<span class='macro'>G_INPUT_STREAM (input)<span class='macro_popup'>((((GInputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((input)), ((g_input_stream_get_type ()))))))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> g_object_unref (input);</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> goutput_write (<span class='macro'>G_OUTPUT_STREAM (output)<span class='macro_popup'>((((GOutputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((output)), ((g_output_stream_get_type ()))))))</span></span>, <span class='string_literal'>"&lt;?xml version=\"1.0\"?&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> goutput_write (<span class='macro'>G_OUTPUT_STREAM (output)<span class='macro_popup'>((((GOutputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((output)), ((g_output_stream_get_type ()))))))</span></span>, <span class='string_literal'>"&lt;dump&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> output_types = g_hash_table_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> in = g_data_input_stream_new (<span class='macro'>G_INPUT_STREAM (input)<span class='macro_popup'>((((GInputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((input)), ((g_input_stream_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> g_object_unref (input);</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='keyword'>while</span> (<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> gsize len;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> <span class='keyword'>char</span> *line = g_data_input_stream_read_line (in, &amp;len, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *function;</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> <span class='keyword'>if</span> (line == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || *line == '\0')</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> g_free (line);</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> g_strchomp (line);</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> <span class='keyword'>if</span> (strncmp (line, <span class='string_literal'>"get-type:"</span>, strlen (<span class='string_literal'>"get-type:"</span>)) == 0)</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> GType type;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> function = line + strlen (<span class='string_literal'>"get-type:"</span>);</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> type = invoke_get_type (self, function, error);</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>if</span> (type == <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> g_printerr (<span class='string_literal'>"Invalid GType function: '%s'\n"</span>, function);</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> caught_error = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> g_free (line);</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='keyword'>if</span> (g_hash_table_lookup (output_types, (gpointer) type))</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> <span class='keyword'>goto</span> next;</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> g_hash_table_insert (output_types, (gpointer) type, (gpointer) type);</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> dump_type (type, function, <span class='macro'>G_OUTPUT_STREAM (output)<span class='macro_popup'>((((GOutputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((output)), ((g_output_stream_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (strncmp (line, <span class='string_literal'>"error-quark:"</span>, strlen (<span class='string_literal'>"error-quark:"</span>)) == 0)</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> GQuark quark;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> function = line + strlen (<span class='string_literal'>"error-quark:"</span>);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> quark = invoke_error_quark (self, function, error);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='keyword'>if</span> (quark == 0)</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_printerr (<span class='string_literal'>"Invalid error quark function: '%s'\n"</span>, function);</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> caught_error = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> g_free (line);</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> dump_error_quark (quark, function, <span class='macro'>G_OUTPUT_STREAM (output)<span class='macro_popup'>((((GOutputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((output)), ((g_output_stream_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> next:</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> g_free (line);</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> g_hash_table_destroy (output_types);</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> goutput_write (<span class='macro'>G_OUTPUT_STREAM (output)<span class='macro_popup'>((((GOutputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((output)), ((g_output_stream_get_type ()))))))</span></span>, <span class='string_literal'>"&lt;/dump&gt;\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> <span class='comment'>/* Avoid overwriting an earlier set error */</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> caught_error |= !g_input_stream_close (<span class='macro'>G_INPUT_STREAM (in)<span class='macro_popup'>((((GInputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((in)), ((g_input_stream_get_type ()))))))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> caught_error ? <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> : error);</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> caught_error |= !g_output_stream_close (<span class='macro'>G_OUTPUT_STREAM (output)<span class='macro_popup'>((((GOutputStream*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((output)), ((g_output_stream_get_type ()))))))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> caught_error ? <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> : error);</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> g_object_unref (in);</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> g_object_unref (output);</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>return</span> !caught_error;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line">main(<span class='keyword'>int</span> argc, <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *introspect_dump_prefix = <span class='string_literal'>"--introspect-dump="</span>;</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"><span class='directive'>#if !<span class='macro'>GLIB_CHECK_VERSION(2,35,0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (35)) || (2 == (2<br>) &amp;&amp; 78 == (35) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> g_type_init ();</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>if</span> (argc != 2 || !<span class='macro'>g_str_has_prefix (argv[1], introspect_dump_prefix)<span class='macro_popup'>(__builtin_constant_p (introspect_dump_prefix)? __extension__<br> ({ const char * const __str = (argv[1]); const char * const __prefix<br> = (introspect_dump_prefix); gboolean __result = (0); if (__str<br> == ((void*)0) || __prefix == ((void*)0)) __result = (g_str_has_prefix<br>) (__str, __prefix); else { const size_t __str_len = strlen (<br>((__str) + !(__str))); const size_t __prefix_len = strlen (((<br>__prefix) + !(__prefix))); if (__str_len &gt;= __prefix_len) __result<br> = memcmp (((__str) + !(__str)), ((__prefix) + !(__prefix)), __prefix_len<br>) == 0; } __result; }) : (g_str_has_prefix) (argv[1], introspect_dump_prefix<br>) )</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> g_printerr (<span class='string_literal'>"Usage: %s --introspect-dump=input,output"</span>, argv[0]);</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='keyword'>if</span> (!dump_irepository (argv[1] + strlen(introspect_dump_prefix), &amp;error))</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> g_printerr (<span class='string_literal'>"%s\n"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> exit (0);</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"><span class='keyword'>extern</span> GType mate_panel_applet_get_type(<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"><span class='keyword'>extern</span> GType mate_panel_applet_orient_get_type(<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"><span class='keyword'>extern</span> GType mate_panel_applet_background_type_get_type(<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"><span class='keyword'>extern</span> GType mate_panel_applet_flags_get_type(<span class='keyword'>void</span>);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"><span class='macro'>G_MODULE_EXPORT<span class='macro_popup'>__attribute__((visibility("default")))</span></span> GType (*GI_GET_TYPE_FUNCS_[])(<span class='keyword'>void</span>) = {</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> mate_panel_applet_get_type,</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> mate_panel_applet_orient_get_type,</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> mate_panel_applet_background_type_get_type,</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> mate_panel_applet_flags_get_type</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line">};</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-fd4917.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-fd4917.html
new file mode 100644
index 00000000..ff3a135b
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-fd4917.html
@@ -0,0 +1,6243 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-toplevel.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Value stored to 'y' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-toplevel.c -->
+
+<!-- FILENAME panel-toplevel.c -->
+
+<!-- FUNCTIONNAME panel_toplevel_update_expanded_position -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT fd4917f862790c456c330f6713558bf8 -->
+
+<!-- BUGLINE 2063 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-toplevel.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 2063, column 2</a><br />Value stored to 'y' is never read</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-toplevel.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-toplevel.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"2063": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* panel-toplevel.c: The panel's toplevel window object.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (C) 2004 Rob Adams</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include "panel-toplevel.h"</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gdk/gdkkeysyms.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include "panel-profile.h"</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include "panel-frame.h"</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include "panel-multimonitor.h"</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "panel-a11y.h"</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#include "panel-typebuiltins.h"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#include "panel-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#include "panel-widget.h"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#include "panel-bindings.h"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#include "panel-config-global.h"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#include "panel-lockdown.h"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#include "panel-schemas.h"</span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"><span class='directive'>#include "xstuff.h"</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#include "panel-xutils.h"</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='directive'>#include "panel-struts.h"</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='directive'>#include "wayland-backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span> 48</span></td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> 1</span></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span> 300</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> 8</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#define <span class='macro'>MINIMUM_WIDTH<span class='macro_popup'>100</span></span> 100</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"><span class='directive'>#define <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#define <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span> 6</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='directive'>#define <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span> 20</span></td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"><span class='directive'>#define <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span> 10</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='directive'>#define <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> PANEL_GRAB_OP_NONE,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> PANEL_GRAB_OP_MOVE,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> PANEL_GRAB_OP_RESIZE,</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> PANEL_GRAB_OP_RESIZE_UP,</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> PANEL_GRAB_OP_RESIZE_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> PANEL_GRAB_OP_RESIZE_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> PANEL_GRAB_OP_RESIZE_RIGHT</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">} PanelGrabOpType;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"><span class='keyword'>struct</span> _PanelToplevelPrivate {</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> gchar *settings_path;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> gboolean expand;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> gint scale;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>int</span> x;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>int</span> y;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='comment'>/* relative to the bottom right corner, -1 to ignore and use x, y*/</span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='comment'>/* this is used when the configured monitor is missing. We keep it so</span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> <span class='comment'>* we can move the toplevel to the right monitor when it becomes</span></td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='comment'>* available */</span></td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='keyword'>int</span> configured_monitor;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>int</span> hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>int</span> unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> PanelAnimationSpeed animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> GtkSettings *gtk_settings;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> PanelState state;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> guint hide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> guint unhide_timeout;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>int</span> original_width;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>int</span> original_height;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='comment'>/* The offset within the panel from which the panel</span></td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='comment'>* drag was initiated relative to the screen origin.</span></td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>int</span> drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>int</span> drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='comment'>/* Saved state before for cancelled grab op */</span></td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>int</span> orig_monitor;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> orig_x;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>int</span> orig_y;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>int</span> orig_x_right;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>int</span> orig_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='keyword'>int</span> orig_size;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>int</span> orig_orientation;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='comment'>/* relative to the monitor origin */</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>int</span> animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>int</span> animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>int</span> animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>int</span> animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> gint64 animation_start_time; <span class='comment'>/* monotonic start time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> GTimeSpan animation_duration_time; <span class='comment'>/* monotonic duration time in microseconds */</span></td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> guint animation_timeout;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> PanelWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> PanelFrame *inner_frame;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> GtkWidget *grid;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GtkWidget *hide_button_top;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> GtkWidget *hide_button_bottom;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> GtkWidget *hide_button_left;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> GtkWidget *hide_button_right;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> PanelToplevel *attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> gulong attach_toplevel_signals [<span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> GtkWidget *attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> gulong attach_widget_signals [<span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> gint n_autohide_disablers;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> guint auto_hide : 1;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> guint animate : 1;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> guint buttons_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> guint arrows_enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* The co-ordinates are relative to center screen */</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> guint x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> guint y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> <span class='comment'>/* The panel is not lined up with th screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> guint floating : 1;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='comment'>/* We are currently animating a hide/show */</span></td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> guint animating : 1;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> <span class='comment'>/* This is a keyboard initiated grab operation */</span></td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> guint grab_is_keyboard : 1;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='comment'>/* The x-y co-ordinates temporarily specify the panel center.</span></td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> <span class='comment'>* This is used when the panel is rotating, because the width/height</span></td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='comment'>* of the toplevel might change, so we need to compute new values for</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='comment'>* those. */</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> guint position_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='comment'>/* The toplevel is "attached" to another widget */</span></td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> guint attached : 1;</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> <span class='comment'>/* Hidden temporarily because the attach_toplevel was hidden */</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> guint attach_hidden : 1;</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='comment'>/* More saved grab op state */</span></td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> guint orig_x_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> guint orig_y_centered : 1;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='comment'>/* flag to see if we have already done geometry updating,</span></td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='comment'>if not then we're still loading and can ignore many things */</span></td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> guint updated_geometry_initial : 1;</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> <span class='comment'>/* flag to see if we have done the initial animation */</span></td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> guint initial_animation_done : 1;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> HIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> UNHIDE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> POPUP_PANEL_MENU_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> TOGGLE_EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> EXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> UNEXPAND_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> TOGGLE_HIDDEN_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> BEGIN_MOVE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> BEGIN_RESIZE_SIGNAL,</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> PROP_ARROWS_ENABLED</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (PanelToplevel, panel_toplevel, GTK_TYPE_WINDOW)<span class='macro_popup'>static void panel_toplevel_init (PanelToplevel *self); static<br> void panel_toplevel_class_init (PanelToplevelClass *klass); static<br> GType panel_toplevel_get_type_once (void); static gpointer panel_toplevel_parent_class<br> = ((void*)0); static gint PanelToplevel_private_offset; static<br> void panel_toplevel_class_intern_init (gpointer klass) { panel_toplevel_parent_class<br> = g_type_class_peek_parent (klass); if (PanelToplevel_private_offset<br> != 0) g_type_class_adjust_private_offset (klass, &amp;PanelToplevel_private_offset<br>); panel_toplevel_class_init ((PanelToplevelClass*) klass); }<br> __attribute__ ((__unused__)) static inline gpointer panel_toplevel_get_instance_private<br> (PanelToplevel *self) { return (((gpointer) ((guint8*) (self<br>) + (glong) (PanelToplevel_private_offset)))); } GType panel_toplevel_get_type<br> (void) { static gsize static_g_define_type_id = 0; if ((__extension__<br> ({ _Static_assert (sizeof *(&amp;static_g_define_type_id) ==<br> sizeof (gpointer), "Expression evaluates to false"); (void) (<br>0 ? (gpointer) *(&amp;static_g_define_type_id) : ((void*)0));<br> (!(__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (*(&amp;static_g_define_type_id)) gapg_temp_newval; __typeof__<br> ((&amp;static_g_define_type_id)) gapg_temp_atomic = (&amp;static_g_define_type_id<br>); __atomic_load (gapg_temp_atomic, &amp;gapg_temp_newval, 5)<br>; gapg_temp_newval; })) &amp;&amp; g_once_init_enter (&amp;static_g_define_type_id<br>)); }))) { GType g_define_type_id = panel_toplevel_get_type_once<br> (); (__extension__ ({ _Static_assert (sizeof *(&amp;static_g_define_type_id<br>) == sizeof (gpointer), "Expression evaluates to false"); 0 ?<br> (void) (*(&amp;static_g_define_type_id) = (g_define_type_id)<br>) : (void) 0; g_once_init_leave ((&amp;static_g_define_type_id<br>), (gsize) (g_define_type_id)); })); } return static_g_define_type_id<br>; } __attribute__ ((__noinline__)) static GType panel_toplevel_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> ((gtk_window_get_type ()), g_intern_static_string ("PanelToplevel"<br>), sizeof (PanelToplevelClass), (GClassInitFunc)(void (*)(void<br>)) panel_toplevel_class_intern_init, sizeof (PanelToplevel), (<br>GInstanceInitFunc)(void (*)(void)) panel_toplevel_init, (GTypeFlags<br>) 0); { {{ PanelToplevel_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (PanelToplevelPrivate)); };} } return<br> g_define_type_id; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='keyword'>static</span> guint toplevel_signals[LAST_SIGNAL] = {0};</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"><span class='keyword'>static</span> GSList* toplevel_list = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calculate_animation_end_geometry(PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_monitor(PanelToplevel* toplevel);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_set_monitor_internal(PanelToplevel* toplevel, <span class='keyword'>int</span> monitor, gboolean force_resize);</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel);</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line">update_style_classes (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='comment'>/*ensure the panel BG can always be themed*/</span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='comment'>/*Without this gtk3.19/20 cannot set the BG color and resetting the bg to system is not immediately applied*/</span></td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"gnome-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> gtk_style_context_add_class(context,<span class='string_literal'>"mate-panel-menu-bar"</span>);</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> gtk_style_context_remove_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_TOP<span class='macro_popup'>"top"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_LEFT<span class='macro_popup'>"left"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_HORIZONTAL<span class='macro_popup'>"horizontal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_BOTTOM<span class='macro_popup'>"bottom"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_VERTICAL<span class='macro_popup'>"vertical"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> gtk_style_context_add_class (context, <span class='macro'>GTK_STYLE_CLASS_RIGHT<span class='macro_popup'>"right"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 302, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">GSList* panel_toplevel_list_toplevels(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>return</span> toplevel_list;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"><span class='comment'>/* Is this the last un-attached toplevel? */</span></td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line">gboolean panel_toplevel_is_last_unattached(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> GSList* l;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_is_attached(toplevel))</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> <span class='keyword'>for</span> (l = toplevel_list; l; l = l-&gt;next)</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> PanelToplevel* t = l-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>if</span> (t != toplevel &amp;&amp; !panel_toplevel_get_is_attached(t))</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_get_monitor_geometry(PanelToplevel* toplevel, GdkRectangle *geom)</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='macro'>g_return_if_fail(PANEL_IS_TOPLEVEL(toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> <span class='macro'>g_return_if_fail(geom)<span class='macro_popup'>do { if ((geom)) { } else { g_return_if_fail_warning (((gchar<br>*) 0), ((const char*) (__func__)), "geom"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> geom-&gt;x = panel_multimonitor_x(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> geom-&gt;y = panel_multimonitor_y(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> geom-&gt;width = panel_multimonitor_width(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> geom-&gt;height = panel_multimonitor_height(toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"><span class='keyword'>static</span> GdkCursorType panel_toplevel_grab_op_cursor(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> GdkCursorType retval = -1;</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> retval = GDK_CROSS;</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> retval = GDK_FLEUR;</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> retval = GDK_TOP_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> retval = GDK_BOTTOM_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> retval = GDK_LEFT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> retval = GDK_RIGHT_SIDE;</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 371, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_init_resize_drag_offsets(PanelToplevel* toplevel, PanelGrabOpType grab_op)</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='macro'>g_assert (GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel))))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 381<br>, ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>switch</span> (grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y =</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x =</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 402, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_warp_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> GdkRectangle geometry;</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> <span class='macro'>g_return_if_fail (GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget)))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> x = y = 0;</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> x = (geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> y = geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> x = geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> y = (geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 441, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_MOVE ||</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_RESIZE) {</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = x;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = y;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> panel_toplevel_init_resize_drag_offsets (toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> panel_warp_pointer (gtk_widget_get_window (widget), x, y);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_attached_move(PanelToplevel* toplevel, gboolean is_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> PanelWidget *attached_panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> attached_panel_widget = panel_toplevel_get_panel_widget (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> panel_widget_applet_drag_start (attached_panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> is_keyboard ? <span class='macro'>PW_DRAG_OFF_CENTER<span class='macro_popup'>-2</span></span> : <span class='macro'>PW_DRAG_OFF_CURSOR<span class='macro_popup'>-1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> time_);</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_begin_grab_op(PanelToplevel* toplevel, PanelGrabOpType op_type, gboolean grab_keyboard, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> GdkCursorType cursor_type;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> GdkCursor *cursor;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> GdkSeatCapabilities capabilities;</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='keyword'>if</span> (panel_lockdown_get_locked_down ())</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> <span class='comment'>/* If any of the position/orientation are not writable,</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>then we can't really move freely */</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='keyword'>if</span> (op_type == PANEL_GRAB_OP_MOVE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> ! panel_profile_can_be_moved_freely (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='comment'>/* If size is not writable, then we can't resize */</span></td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>if</span> ((op_type == PANEL_GRAB_OP_RESIZE ||</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_UP ||</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> op_type == PANEL_GRAB_OP_RESIZE_RIGHT) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> ! panel_profile_key_is_writable (toplevel, <span class='macro'>PANEL_TOPLEVEL_SIZE_KEY<span class='macro_popup'>"size"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; op_type == PANEL_GRAB_OP_MOVE) {</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> panel_toplevel_begin_attached_move (toplevel, grab_keyboard, time_);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = op_type;</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = (grab_keyboard != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> toplevel-&gt;priv-&gt;orig_monitor = toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> toplevel-&gt;priv-&gt;orig_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> toplevel-&gt;priv-&gt;orig_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> toplevel-&gt;priv-&gt;orig_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> toplevel-&gt;priv-&gt;orig_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> gtk_grab_add (widget);</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (widget))); GType __t = ((gdk_x11_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard) {</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> panel_toplevel_warp_pointer (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> cursor_type = panel_toplevel_grab_op_cursor (</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> toplevel, toplevel-&gt;priv-&gt;grab_op);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> cursor = gdk_cursor_new_for_display (gdk_display_get_default (),</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> cursor_type);</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> display = gdk_window_get_display (window);</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> capabilities = GDK_SEAT_CAPABILITY_POINTER;</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> <span class='keyword'>if</span> (grab_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> capabilities |= GDK_SEAT_CAPABILITY_KEYBOARD;</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> gdk_seat_grab (seat, window, capabilities, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, cursor,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> g_object_unref (cursor);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_end_grab_op (PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE<br>)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> gtk_grab_remove (widget);</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> display = gtk_widget_get_display (widget);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> gdk_seat_ungrab (seat);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_cancel_grab_op(PanelToplevel* toplevel, guint32 time_)</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> panel_toplevel_set_orientation (toplevel, toplevel-&gt;priv-&gt;orig_orientation);</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> panel_toplevel_set_monitor (toplevel, toplevel-&gt;priv-&gt;orig_monitor);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> panel_toplevel_set_size (toplevel, toplevel-&gt;priv-&gt;orig_size);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> toplevel-&gt;priv-&gt;orig_x,</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_right,</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> toplevel-&gt;priv-&gt;orig_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> toplevel-&gt;priv-&gt;orig_y,</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> toplevel-&gt;priv-&gt;orig_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_resize_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> x, <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>int</span> new_x_right, new_y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>int</span> new_x_centered, new_y_centered;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> new_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> new_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> new_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> new_x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> new_y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> new_x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> new_y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_y - y;</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> new_y -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> new_size = y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.height / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.height / 4)) ? (monitor_geom.<br>height / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered &amp;&amp; (new_y + new_size / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> new_y_bottom = monitor_geom.height - (new_y + new_size);</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> new_y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> new_size = toplevel-&gt;priv-&gt;drag_offset_x - x;</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> new_x -= (new_size - toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> new_size = x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> new_size = <span class='macro'>CLAMP (new_size, 0, monitor_geom.width / 4)<span class='macro_popup'>(((new_size) &gt; (monitor_geom.width / 4)) ? (monitor_geom.width<br> / 4) : (((new_size) &lt; (0)) ? (0) : (new_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered &amp;&amp; (new_x + new_size / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> new_x_right = monitor_geom.width - (new_x + new_size);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> new_x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 637, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> <span class='keyword'>if</span> (new_size == 0)</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> panel_toplevel_set_x (toplevel, new_x, new_x_right, new_x_centered);</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> panel_toplevel_set_y (toplevel, new_y, new_y_bottom, new_y_centered);</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> panel_toplevel_set_size (toplevel, new_size);</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"><span class='comment'>/* this is called for expanded panels that are dragged around */</span></td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_new_orientation(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='keyword'>int</span> hborder, vborder;</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='keyword'>int</span> monitor_width, monitor_height;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (pointer_x, pointer_y);</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.height &lt; toplevel-&gt;priv-&gt;geometry.width)</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.height) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> vborder = hborder = (3 * toplevel-&gt;priv-&gt;geometry.width) &gt;&gt; 1;</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> new_x = pointer_x - panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> new_y = pointer_y - panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> monitor_width = panel_multimonitor_width (monitor);</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> monitor_height = panel_multimonitor_height (monitor);</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &gt; hborder) {</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; (monitor_height - hborder)) {</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> <span class='keyword'>if</span> (new_x &gt; (monitor_width - vborder))</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &gt; vborder) {</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> <span class='keyword'>if</span> (new_x &lt; vborder)</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_x &lt; (monitor_width - vborder)) {</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> <span class='keyword'>if</span> (new_y &gt; (monitor_height - hborder))</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (new_y &lt; hborder)</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 718, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> panel_toplevel_set_monitor (toplevel, monitor);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to(PanelToplevel* toplevel, <span class='keyword'>int</span> new_x, <span class='keyword'>int</span> new_y)</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> gboolean x_centered, y_centered;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> GdkPoint display_min, display_max;</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='keyword'>int</span> new_monitor;</td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> <span class='keyword'>int</span> x, y, x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> panel_multimonitor_get_bounds (&amp;display_min, &amp;display_max);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> new_x = <span class='macro'>CLAMP (new_x, 0, display_max.x - width)<span class='macro_popup'>(((new_x) &gt; (display_max.x - width)) ? (display_max.x - width<br>) : (((new_x) &lt; (0)) ? (0) : (new_x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> new_y = <span class='macro'>CLAMP (new_y, 0, display_max.y - height)<span class='macro_popup'>(((new_y) &gt; (display_max.y - height)) ? (display_max.y - height<br>) : (((new_y) &lt; (0)) ? (0) : (new_y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> new_orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= (display_min.x + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_x + width) &gt;= (display_max.x - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= (display_min.y + snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((new_y + height) &gt;= (display_max.y - snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> new_monitor = panel_multimonitor_get_monitor_at_point (new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> x_centered = toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> y_centered = toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> x = new_x - panel_multimonitor_x (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> y = new_y - panel_multimonitor_y (new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>if</span> (new_y &lt;= display_min.y + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> new_y + height &gt;= display_max.y - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> x_centered = abs (x - ((monitor_geom.width - width) / 2))</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='keyword'>if</span> (new_x &lt;= display_min.x + snap_tolerance ||</td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> new_x + width &gt;= display_max.x - snap_tolerance)</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> y_centered = abs (y - ((monitor_geom.height - height) / 2))</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> &lt;= snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>if</span> (x_centered)</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> x = (monitor_geom.width - width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> <span class='keyword'>if</span> (y_centered)</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> y = (monitor_geom.height - height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> <span class='keyword'>if</span> (!x_centered &amp;&amp; (x + width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> x_right = monitor_geom.width - (x + width);</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> <span class='keyword'>if</span> (!y_centered &amp;&amp; (y + height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> y_bottom = monitor_geom.height - (y + height);</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> panel_toplevel_set_monitor (toplevel, new_monitor);</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> panel_toplevel_set_x (toplevel, x, x_right, x_centered);</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> panel_toplevel_set_y (toplevel, y, y_bottom, y_centered);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_move_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> new_x = pointer_x - toplevel-&gt;priv-&gt;drag_offset_x;</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> new_y = pointer_y - toplevel-&gt;priv-&gt;drag_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> panel_toplevel_move_to (toplevel, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_rotate_to_pointer(PanelToplevel* toplevel, <span class='keyword'>int</span> pointer_x, <span class='keyword'>int</span> pointer_y)</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> <span class='keyword'>int</span> x_diff, y_diff;</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> x_diff = pointer_x - (x + toplevel-&gt;priv-&gt;geometry.width / 2);</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> y_diff = pointer_y - (y + toplevel-&gt;priv-&gt;geometry.height / 2);</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> <span class='keyword'>if</span> (((-y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> (( y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_RIGHT);</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &lt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> (( x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_BOTTOM);</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((( y_diff &gt; x_diff + snap_tolerance) &amp;&amp; x_diff &gt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> ((-y_diff &lt; x_diff + snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0))</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_LEFT);</td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (((-x_diff &gt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &gt; 0) ||</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> (( x_diff &lt; y_diff - snap_tolerance) &amp;&amp; x_diff &lt; 0 &amp;&amp; y_diff &lt; 0))</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> panel_toplevel_set_orientation (toplevel, PANEL_ORIENTATION_TOP);</td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_warp_pointer_increment(PanelToplevel* toplevel, <span class='keyword'>int</span> keyval, <span class='keyword'>int</span> increment)</td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> GdkWindow *root_window;</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> GdkDevice *device;</td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> <span class='keyword'>int</span> new_x, new_y;</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> screen = gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> <span class='macro'>g_return_val_if_fail (GDK_IS_X11_SCREEN (screen), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((screen)); GType __t = ((gdk_x11_screen_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "GDK_IS_X11_SCREEN (screen)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> root_window = gdk_screen_get_root_window (screen);</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"> device = gdk_seat_get_pointer (gdk_display_get_default_seat (gtk_widget_get_display (<span class='macro'>GTK_WIDGET(root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>)));</td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> gdk_window_get_device_position (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (root_window)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((root_window)), ((gtk_widget_get_type ()))))))</span></span>), device, &amp;new_x, &amp;new_y, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> <span class='keyword'>switch</span> (keyval) {</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> new_y -= increment;</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"> new_x -= increment;</td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> new_y += increment;</td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> new_x += increment;</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 884, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> panel_warp_pointer (root_window, new_x, new_y);</td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_floating(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"><span class='directive'>#define SMALL_INCREMENT 1</span></td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"><span class='directive'>#define NORMAL_INCREMENT 10</span></td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> <span class='keyword'>int</span> increment = NORMAL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_SHIFT_MASK)</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> increment = SMALL_INCREMENT;</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_warp_pointer_increment (</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> toplevel, event-&gt;keyval, increment);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"><span class='directive'>#undef SMALL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"><span class='directive'>#undef NORMAL_INCREMENT</span></td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_move_keyboard_expanded(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> PanelOrientation new_orientation;</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> new_orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> new_orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> new_orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> new_orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 934, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> panel_toplevel_set_orientation (toplevel, new_orientation);</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_initial_resize_keypress(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> PanelGrabOpType grab_op;</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_UP;</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> <span class='keyword'>if</span> (!(toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> grab_op = PANEL_GRAB_OP_RESIZE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 973, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, grab_op, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_key_event(PanelToplevel* toplevel, GdkEventKey* event)</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> <span class='keyword'>switch</span> (event-&gt;keyval) {</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Up<span class='macro_popup'>0xff52</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Up<span class='macro_popup'>0xff97</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Left<span class='macro_popup'>0xff51</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Left<span class='macro_popup'>0xff96</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Down<span class='macro_popup'>0xff54</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Down<span class='macro_popup'>0xff99</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Right<span class='macro_popup'>0xff53</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Right<span class='macro_popup'>0xff98</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> retval = panel_toplevel_move_keyboard_expanded (</td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> retval = panel_toplevel_move_keyboard_floating (</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line"> toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE:</td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> retval = panel_toplevel_initial_resize_keypress (toplevel, event);</td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> retval = panel_toplevel_warp_pointer_increment (toplevel, event-&gt;keyval, 1);</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1022, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Escape<span class='macro_popup'>0xff1b</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> panel_toplevel_cancel_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_Return<span class='macro_popup'>0xff0d</span></span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Enter<span class='macro_popup'>0xff8d</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_space<span class='macro_popup'>0x020</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>GDK_KEY_KP_Space<span class='macro_popup'>0xff80</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> retval = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='keyword'>default</span>: <span class='comment'>/* drop through*/</span></td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_handle_grab_op_motion_event(PanelToplevel* toplevel, GdkEventMotion* event)</td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;grab_op) {</td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_MOVE:</td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line"> panel_toplevel_calc_new_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((event-&gt;state &amp; gtk_accelerator_get_default_mod_mask ()) == GDK_CONTROL_MASK)</td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> panel_toplevel_rotate_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> panel_toplevel_move_to_pointer (</td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_UP:</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> <span class='keyword'>case</span> PANEL_GRAB_OP_RESIZE_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> panel_toplevel_resize_to_pointer (toplevel, event-&gt;x_root, event-&gt;y_root);</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_calc_floating(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> GdkPoint position_on_monitor;</td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"> toplevel-&gt;priv-&gt;floating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> position_on_monitor.x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> position_on_monitor.x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> position_on_monitor.y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> position_on_monitor.y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> (position_on_monitor.y &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"> (position_on_monitor.y &lt; (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line"> toplevel-&gt;priv-&gt;floating =</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> (position_on_monitor.x &gt; snap_tolerance) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> (position_on_monitor.x &lt; (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width - snap_tolerance));</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"><span class='keyword'>void</span> panel_toplevel_push_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;n_autohide_disablers++)</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"><span class='keyword'>void</span> panel_toplevel_pop_autohide_disabler(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel != NULL)<span class='macro_popup'>do { if ((toplevel != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel != NULL"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0))<br> { } else { g_return_if_fail_warning (((gchar*) 0), ((const char<br>*) (__func__)), "toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line"> <span class='keyword'>if</span> (!--toplevel-&gt;priv-&gt;n_autohide_disablers)</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_get_autohide_disabled(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;n_autohide_disablers &gt; 0 ? <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span> : <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_hide_button_event(PanelToplevel* toplevel, GdkEventButton* event, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button == 1)</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"> <span class='keyword'>return</span> gtk_widget_event (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, (GdkEvent *) event);</td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_hide_button_clicked(PanelToplevel* toplevel, GtkButton* button)</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> gboolean ltr;</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating ||</td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> ltr = gtk_widget_get_direction (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>) == GTK_TEXT_DIR_LTR;</td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL) {</td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line"> GtkDirectionType direction;</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> direction = GTK_DIR_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> direction = ltr ? GTK_DIR_LEFT : GTK_DIR_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> direction = ltr ? GTK_DIR_RIGHT : GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1163, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, (gint) direction);</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line">set_arrow_type (GtkImage *image,</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> GtkArrowType arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> <span class='keyword'>switch</span> (arrow_type)</td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_NONE:</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-down-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-up-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-start-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> gtk_image_set_from_icon_name (image, <span class='string_literal'>"pan-end-symbolic"</span>, GTK_ICON_SIZE_BUTTON);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"><span class='keyword'>static</span> GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line">panel_toplevel_add_hide_button (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> GtkArrowType arrow_type,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> <span class='keyword'>int</span> left,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='keyword'>int</span> top)</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> GtkWidget *button;</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> AtkObject *obj;</td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> button = gtk_button_new ();</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line"> obj = gtk_widget_get_accessible (button);</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> atk_object_set_name (obj, <span class='macro'>_(<span class='string_literal'>"Hide Panel"</span>)<span class='macro_popup'>gettext ("Hide Panel")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"> gtk_widget_set_can_default (button, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line"> arrow = gtk_image_new ();</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (button)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_container_get_type ()))))))</span></span>, arrow);</td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> gtk_widget_show (arrow);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line"> <span class='string_literal'>"arrow-type"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"clicked"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_clicked), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("clicked"), (((GCallback) (<br>panel_toplevel_hide_button_clicked))), (toplevel), ((void*)0)<br>, G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-press-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-press-event"), (((GCallback<br>) (panel_toplevel_hide_button_event))), (toplevel), ((void*)0<br>), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> <span class='macro'>g_signal_connect_swapped (button, <span class='string_literal'>"button-release-event"</span>,<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_hide_button_event), toplevel)<span class='macro_popup'>g_signal_connect_data ((button), ("button-release-event"), ((<br>(GCallback) (panel_toplevel_hide_button_event))), (toplevel),<br> ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, button, left, top, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> <span class='keyword'>return</span> button;</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_buttons_showing(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line"> <span class='keyword'>switch</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> gtk_widget_hide (toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1260, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"><span class='comment'>/* force set hide button size on panel size &lt; 30px */</span></td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons_size (GtkWidget *button, <span class='keyword'>int</span> panel_size)</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> GtkCssProvider *css_provider;</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> GtkWidget *arrow;</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> GtkSettings *settings;</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> gchar *gtk_theme_name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> context = gtk_widget_get_style_context (button);</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"panel-button"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"> <span class='comment'>/* get defaults from theme */</span></td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> settings = gtk_settings_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> g_object_get (settings, <span class='string_literal'>"gtk-theme-name"</span>, &amp;gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> css_provider = gtk_css_provider_get_named (gtk_theme_name, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line"> g_free (gtk_theme_name);</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"> <span class='comment'>/* set custom css by adding our custom code to the default theme css</span></td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"> <span class='comment'>* NOTE that contriary to the documentation:</span></td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line"> <span class='comment'>* https://developer.gnome.org/gtk3/stable/GtkCssProvider.html#gtk-css-provider-load-from-data</span></td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> <span class='comment'>* the previously loaded theme is NOT cleared from the css_provider. (reason unknown)</span></td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line"> <span class='comment'>* In other words, this works exactly, how we need it here.</span></td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> <span class='comment'>* ALSO NOTE that using gtk_css_provider_to_string () to convert the theme css data into a string</span></td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> <span class='comment'>* and then adding the custom css, then adding this updated css to a css_provider</span></td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> <span class='comment'>* with the gtk_css_provider_load_from_data () also works,</span></td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class='comment'>* however some themes can't be easily converted to strings, beacuse of the binary data</span></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> <span class='comment'>* they contain. This causes a delay of minutes in loading the mate-panel,</span></td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='comment'>* and so this approach is not viable. */</span></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 30) {</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> gtk_css_provider_load_from_data (css_provider, <span class='string_literal'>".panel-button {min-height: 13px; min-width: 13px; padding: 0px;}"</span>, -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> gtk_style_context_add_provider (context, <span class='macro'>GTK_STYLE_PROVIDER (css_provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((css_provider)), ((gtk_style_provider_get_type<br> ()))))))</span></span>, <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> <span class='comment'>/* get arrow image */</span></td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> arrow = gtk_bin_get_child (<span class='macro'>GTK_BIN (button)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_bin_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> <span class='comment'>/* set image size */</span></td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20) {</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 12);</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40) {</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 16);</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60) {</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 22);</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> gtk_image_set_pixel_size (<span class='macro'>GTK_IMAGE (arrow)<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((arrow)), ((gtk_image_get_type ()))))))</span></span>, 24);</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_hide_buttons(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> <span class='keyword'>int</span> panel_size = toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> panel_toplevel_update_buttons_showing (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_top, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_left, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> panel_toplevel_update_hide_buttons_size (toplevel-&gt;priv-&gt;hide_button_right, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), (((GType) ((20)<br> &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN,</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), (((GType) ((<br>20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP,</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> g_object_set (</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), (((GType) ((20<br>) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> <span class='string_literal'>"visible"</span>, toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT,</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1349"><td class="num" id="LN1349">1349</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1350"><td class="num" id="LN1350">1350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1351"><td class="num" id="LN1351">1351</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1352"><td class="num" id="LN1352">1352</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1353"><td class="num" id="LN1353">1353</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1354"><td class="num" id="LN1354">1354</td><td class="line"> gtk_widget_show (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1355"><td class="num" id="LN1355">1355</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1356"><td class="num" id="LN1356">1356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1357"><td class="num" id="LN1357">1357</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1358"><td class="num" id="LN1358">1358</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_top)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_top)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1359"><td class="num" id="LN1359">1359</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_bottom)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_bottom)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1360"><td class="num" id="LN1360">1360</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_left)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_left)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1361"><td class="num" id="LN1361">1361</td><td class="line"> gtk_widget_hide (gtk_bin_get_child (<span class='macro'>GTK_BIN (toplevel-&gt;priv-&gt;hide_button_right)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;hide_button_right)), ((gtk_bin_get_type<br> ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1362"><td class="num" id="LN1362">1362</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1363"><td class="num" id="LN1363">1363</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1364"><td class="num" id="LN1364">1364</td><td class="line"> <span class='comment'>/* set size after setting the arrow */</span></td></tr>
+<tr class="codeline" data-linenumber="1365"><td class="num" id="LN1365">1365</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled) {</td></tr>
+<tr class="codeline" data-linenumber="1366"><td class="num" id="LN1366">1366</td><td class="line"> <span class='keyword'>int</span> hb_size;</td></tr>
+<tr class="codeline" data-linenumber="1367"><td class="num" id="LN1367">1367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1368"><td class="num" id="LN1368">1368</td><td class="line"> <span class='keyword'>if</span> (panel_size &lt; 20)</td></tr>
+<tr class="codeline" data-linenumber="1369"><td class="num" id="LN1369">1369</td><td class="line"> hb_size = 16;</td></tr>
+<tr class="codeline" data-linenumber="1370"><td class="num" id="LN1370">1370</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 40)</td></tr>
+<tr class="codeline" data-linenumber="1371"><td class="num" id="LN1371">1371</td><td class="line"> hb_size = 20;</td></tr>
+<tr class="codeline" data-linenumber="1372"><td class="num" id="LN1372">1372</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (panel_size &lt; 60)</td></tr>
+<tr class="codeline" data-linenumber="1373"><td class="num" id="LN1373">1373</td><td class="line"> hb_size = 26;</td></tr>
+<tr class="codeline" data-linenumber="1374"><td class="num" id="LN1374">1374</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1375"><td class="num" id="LN1375">1375</td><td class="line"> hb_size = 30;</td></tr>
+<tr class="codeline" data-linenumber="1376"><td class="num" id="LN1376">1376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1377"><td class="num" id="LN1377">1377</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_top, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1378"><td class="num" id="LN1378">1378</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_bottom, panel_size, hb_size);</td></tr>
+<tr class="codeline" data-linenumber="1379"><td class="num" id="LN1379">1379</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_left, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1380"><td class="num" id="LN1380">1380</td><td class="line"> gtk_widget_set_size_request (toplevel-&gt;priv-&gt;hide_button_right, hb_size, panel_size);</td></tr>
+<tr class="codeline" data-linenumber="1381"><td class="num" id="LN1381">1381</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1382"><td class="num" id="LN1382">1382</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1383"><td class="num" id="LN1383">1383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1384"><td class="num" id="LN1384">1384</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_contains_pointer(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1385"><td class="num" id="LN1385">1385</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1386"><td class="num" id="LN1386">1386</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="1387"><td class="num" id="LN1387">1387</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1388"><td class="num" id="LN1388">1388</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1389"><td class="num" id="LN1389">1389</td><td class="line"> GdkSeat *seat;</td></tr>
+<tr class="codeline" data-linenumber="1390"><td class="num" id="LN1390">1390</td><td class="line"> GdkDevice *pointer;</td></tr>
+<tr class="codeline" data-linenumber="1391"><td class="num" id="LN1391">1391</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="1392"><td class="num" id="LN1392">1392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1393"><td class="num" id="LN1393">1393</td><td class="line"> display = gdk_display_get_default ();</td></tr>
+<tr class="codeline" data-linenumber="1394"><td class="num" id="LN1394">1394</td><td class="line"> seat = gdk_display_get_default_seat (display);</td></tr>
+<tr class="codeline" data-linenumber="1395"><td class="num" id="LN1395">1395</td><td class="line"> pointer = gdk_seat_get_pointer (seat);</td></tr>
+<tr class="codeline" data-linenumber="1396"><td class="num" id="LN1396">1396</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1397"><td class="num" id="LN1397">1397</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1398"><td class="num" id="LN1398">1398</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="1399"><td class="num" id="LN1399">1399</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1400"><td class="num" id="LN1400">1400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1401"><td class="num" id="LN1401">1401</td><td class="line"> screen = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1402"><td class="num" id="LN1402">1402</td><td class="line"> x = y = -1;</td></tr>
+<tr class="codeline" data-linenumber="1403"><td class="num" id="LN1403">1403</td><td class="line"> gdk_device_get_position (pointer, &amp;screen, &amp;x, &amp;y);</td></tr>
+<tr class="codeline" data-linenumber="1404"><td class="num" id="LN1404">1404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1405"><td class="num" id="LN1405">1405</td><td class="line"> <span class='keyword'>if</span> (screen != gtk_window_get_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="1406"><td class="num" id="LN1406">1406</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1407"><td class="num" id="LN1407">1407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1408"><td class="num" id="LN1408">1408</td><td class="line"> <span class='keyword'>if</span> (x == -1 || y == -1)</td></tr>
+<tr class="codeline" data-linenumber="1409"><td class="num" id="LN1409">1409</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1410"><td class="num" id="LN1410">1410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1411"><td class="num" id="LN1411">1411</td><td class="line"> <span class='keyword'>if</span> (x &lt; toplevel-&gt;priv-&gt;geometry.x || x &gt;= (toplevel-&gt;priv-&gt;geometry.x + toplevel-&gt;priv-&gt;geometry.width) ||</td></tr>
+<tr class="codeline" data-linenumber="1412"><td class="num" id="LN1412">1412</td><td class="line"> y &lt; toplevel-&gt;priv-&gt;geometry.y || y &gt;= (toplevel-&gt;priv-&gt;geometry.y + toplevel-&gt;priv-&gt;geometry.height))</td></tr>
+<tr class="codeline" data-linenumber="1413"><td class="num" id="LN1413">1413</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1414"><td class="num" id="LN1414">1414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1415"><td class="num" id="LN1415">1415</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1416"><td class="num" id="LN1416">1416</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1417"><td class="num" id="LN1417">1417</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1418"><td class="num" id="LN1418">1418</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> <span class='keyword'>int</span> panel_toplevel_get_effective_auto_hide_size(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1419"><td class="num" id="LN1419">1419</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1420"><td class="num" id="LN1420">1420</td><td class="line"> <span class='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="1421"><td class="num" id="LN1421">1421</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1422"><td class="num" id="LN1422">1422</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1423"><td class="num" id="LN1423">1423</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1424"><td class="num" id="LN1424">1424</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_height / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_height / 2)) ? (toplevel-&gt;priv-&gt;original_height<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1425"><td class="num" id="LN1425">1425</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1426"><td class="num" id="LN1426">1426</td><td class="line"> size = <span class='macro'>CLAMP (toplevel-&gt;priv-&gt;auto_hide_size,<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span></td></tr>
+<tr class="codeline" data-linenumber="1427"><td class="num" id="LN1427">1427</td><td class="line"> <span class='macro'>1, toplevel-&gt;priv-&gt;original_width / 2)<span class='macro_popup'>(((toplevel-&gt;priv-&gt;auto_hide_size) &gt; (toplevel-&gt;priv<br>-&gt;original_width / 2)) ? (toplevel-&gt;priv-&gt;original_width<br> / 2) : (((toplevel-&gt;priv-&gt;auto_hide_size) &lt; (1)) ? (<br>1) : (toplevel-&gt;priv-&gt;auto_hide_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1428"><td class="num" id="LN1428">1428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1429"><td class="num" id="LN1429">1429</td><td class="line"> <span class='comment'>/* paranoia */</span></td></tr>
+<tr class="codeline" data-linenumber="1430"><td class="num" id="LN1430">1430</td><td class="line"> <span class='keyword'>return</span> (size &lt;= 0) ? <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span> : size;</td></tr>
+<tr class="codeline" data-linenumber="1431"><td class="num" id="LN1431">1431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1432"><td class="num" id="LN1432">1432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1433"><td class="num" id="LN1433">1433</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_update_struts(PanelToplevel* toplevel, gboolean end_of_animation)</td></tr>
+<tr class="codeline" data-linenumber="1434"><td class="num" id="LN1434">1434</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1435"><td class="num" id="LN1435">1435</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="1436"><td class="num" id="LN1436">1436</td><td class="line"> gboolean geometry_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1437"><td class="num" id="LN1437">1437</td><td class="line"> <span class='keyword'>int</span> strut, strut_start, strut_end;</td></tr>
+<tr class="codeline" data-linenumber="1438"><td class="num" id="LN1438">1438</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="1439"><td class="num" id="LN1439">1439</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1440"><td class="num" id="LN1440">1440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1441"><td class="num" id="LN1441">1441</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;updated_geometry_initial)</td></tr>
+<tr class="codeline" data-linenumber="1442"><td class="num" id="LN1442">1442</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1443"><td class="num" id="LN1443">1443</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1444"><td class="num" id="LN1444">1444</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1445"><td class="num" id="LN1445">1445</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span> &amp;&amp; toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1446"><td class="num" id="LN1446">1446</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1447"><td class="num" id="LN1447">1447</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1448"><td class="num" id="LN1448">1448</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1449"><td class="num" id="LN1449">1449</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1450"><td class="num" id="LN1450">1450</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1451"><td class="num" id="LN1451">1451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1452"><td class="num" id="LN1452">1452</td><td class="line"> <span class='comment'>/* In the case of the initial animation, we really want the struts to</span></td></tr>
+<tr class="codeline" data-linenumber="1453"><td class="num" id="LN1453">1453</td><td class="line"> <span class='comment'>* represent what is at the end of the animation, to avoid desktop</span></td></tr>
+<tr class="codeline" data-linenumber="1454"><td class="num" id="LN1454">1454</td><td class="line"> <span class='comment'>* icons jumping around. */</span></td></tr>
+<tr class="codeline" data-linenumber="1455"><td class="num" id="LN1455">1455</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1456"><td class="num" id="LN1456">1456</td><td class="line"> end_of_animation = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1457"><td class="num" id="LN1457">1457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1458"><td class="num" id="LN1458">1458</td><td class="line"> <span class='comment'>/* We've not started the animation yet, so we have to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1459"><td class="num" id="LN1459">1459</td><td class="line"> <span class='comment'>* where we want to end. Note that we don't want to compute</span></td></tr>
+<tr class="codeline" data-linenumber="1460"><td class="num" id="LN1460">1460</td><td class="line"> <span class='comment'>* this everytime, since the struts conflict resolution will be</span></td></tr>
+<tr class="codeline" data-linenumber="1461"><td class="num" id="LN1461">1461</td><td class="line"> <span class='comment'>* overridden if we do so */</span></td></tr>
+<tr class="codeline" data-linenumber="1462"><td class="num" id="LN1462">1462</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1463"><td class="num" id="LN1463">1463</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1464"><td class="num" id="LN1464">1464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1465"><td class="num" id="LN1465">1465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1466"><td class="num" id="LN1466">1466</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1467"><td class="num" id="LN1467">1467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1468"><td class="num" id="LN1468">1468</td><td class="line"> <span class='keyword'>if</span> (end_of_animation) {</td></tr>
+<tr class="codeline" data-linenumber="1469"><td class="num" id="LN1469">1469</td><td class="line"> x = toplevel-&gt;priv-&gt;animation_end_x;</td></tr>
+<tr class="codeline" data-linenumber="1470"><td class="num" id="LN1470">1470</td><td class="line"> y = toplevel-&gt;priv-&gt;animation_end_y;</td></tr>
+<tr class="codeline" data-linenumber="1471"><td class="num" id="LN1471">1471</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1472"><td class="num" id="LN1472">1472</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1473"><td class="num" id="LN1473">1473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1474"><td class="num" id="LN1474">1474</td><td class="line"> width = toplevel-&gt;priv-&gt;animation_end_width;</td></tr>
+<tr class="codeline" data-linenumber="1475"><td class="num" id="LN1475">1475</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1476"><td class="num" id="LN1476">1476</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1477"><td class="num" id="LN1477">1477</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="1478"><td class="num" id="LN1478">1478</td><td class="line"> height = toplevel-&gt;priv-&gt;animation_end_height;</td></tr>
+<tr class="codeline" data-linenumber="1479"><td class="num" id="LN1479">1479</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1480"><td class="num" id="LN1480">1480</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1481"><td class="num" id="LN1481">1481</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1482"><td class="num" id="LN1482">1482</td><td class="line"> x = toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="1483"><td class="num" id="LN1483">1483</td><td class="line"> y = toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="1484"><td class="num" id="LN1484">1484</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1485"><td class="num" id="LN1485">1485</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1486"><td class="num" id="LN1486">1486</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1487"><td class="num" id="LN1487">1487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1488"><td class="num" id="LN1488">1488</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="1489"><td class="num" id="LN1489">1489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1490"><td class="num" id="LN1490">1490</td><td class="line"> strut = strut_start = strut_end = 0;</td></tr>
+<tr class="codeline" data-linenumber="1491"><td class="num" id="LN1491">1491</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1492"><td class="num" id="LN1492">1492</td><td class="line"> <span class='keyword'>if</span> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1493"><td class="num" id="LN1493">1493</td><td class="line"> <span class='keyword'>if</span> (y &lt;= monitor_geom.y) {</td></tr>
+<tr class="codeline" data-linenumber="1494"><td class="num" id="LN1494">1494</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1495"><td class="num" id="LN1495">1495</td><td class="line"> strut = y + height - monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1496"><td class="num" id="LN1496">1496</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (y &gt;= monitor_geom.y + monitor_geom.height - height) {</td></tr>
+<tr class="codeline" data-linenumber="1497"><td class="num" id="LN1497">1497</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1498"><td class="num" id="LN1498">1498</td><td class="line"> strut = monitor_geom.y + monitor_geom.height - y;</td></tr>
+<tr class="codeline" data-linenumber="1499"><td class="num" id="LN1499">1499</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1500"><td class="num" id="LN1500">1500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1501"><td class="num" id="LN1501">1501</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1502"><td class="num" id="LN1502">1502</td><td class="line"> strut_start = <span class='macro'>MAX (x, monitor_geom.x)<span class='macro_popup'>(((x) &gt; (monitor_geom.x)) ? (x) : (monitor_geom.x))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1503"><td class="num" id="LN1503">1503</td><td class="line"> strut_end = <span class='macro'>MIN (x + width, monitor_geom.x + monitor_geom.width)<span class='macro_popup'>(((x + width) &lt; (monitor_geom.x + monitor_geom.width)) ? (<br>x + width) : (monitor_geom.x + monitor_geom.width))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1504"><td class="num" id="LN1504">1504</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1505"><td class="num" id="LN1505">1505</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1506"><td class="num" id="LN1506">1506</td><td class="line"> <span class='keyword'>if</span> (x &lt;= monitor_geom.x) {</td></tr>
+<tr class="codeline" data-linenumber="1507"><td class="num" id="LN1507">1507</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1508"><td class="num" id="LN1508">1508</td><td class="line"> strut = x + width - monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1509"><td class="num" id="LN1509">1509</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (x &gt;= monitor_geom.x + monitor_geom.width - width) {</td></tr>
+<tr class="codeline" data-linenumber="1510"><td class="num" id="LN1510">1510</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1511"><td class="num" id="LN1511">1511</td><td class="line"> strut = monitor_geom.x + monitor_geom.width - x;</td></tr>
+<tr class="codeline" data-linenumber="1512"><td class="num" id="LN1512">1512</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1513"><td class="num" id="LN1513">1513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1514"><td class="num" id="LN1514">1514</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1515"><td class="num" id="LN1515">1515</td><td class="line"> strut_start = <span class='macro'>MAX (y, monitor_geom.y)<span class='macro_popup'>(((y) &gt; (monitor_geom.y)) ? (y) : (monitor_geom.y))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1516"><td class="num" id="LN1516">1516</td><td class="line"> strut_end = <span class='macro'>MIN (y + height, monitor_geom.y + monitor_geom.height)<span class='macro_popup'>(((y + height) &lt; (monitor_geom.y + monitor_geom.height)) ?<br> (y + height) : (monitor_geom.y + monitor_geom.height))</span></span> - 1;</td></tr>
+<tr class="codeline" data-linenumber="1517"><td class="num" id="LN1517">1517</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1518"><td class="num" id="LN1518">1518</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1519"><td class="num" id="LN1519">1519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1520"><td class="num" id="LN1520">1520</td><td class="line"> <span class='keyword'>if</span> (orientation != toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1521"><td class="num" id="LN1521">1521</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="1522"><td class="num" id="LN1522">1522</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1523"><td class="num" id="LN1523">1523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1524"><td class="num" id="LN1524">1524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1525"><td class="num" id="LN1525">1525</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; strut &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1526"><td class="num" id="LN1526">1526</td><td class="line"> strut = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1527"><td class="num" id="LN1527">1527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1528"><td class="num" id="LN1528">1528</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1529"><td class="num" id="LN1529">1529</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1530"><td class="num" id="LN1530">1530</td><td class="line"> <span class='keyword'>if</span> (strut &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="1531"><td class="num" id="LN1531">1531</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="1532"><td class="num" id="LN1532">1532</td><td class="line"> screen = gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1533"><td class="num" id="LN1533">1533</td><td class="line"> geometry_changed = panel_struts_register_strut (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1534"><td class="num" id="LN1534">1534</td><td class="line"> screen,</td></tr>
+<tr class="codeline" data-linenumber="1535"><td class="num" id="LN1535">1535</td><td class="line"> toplevel-&gt;priv-&gt;monitor,</td></tr>
+<tr class="codeline" data-linenumber="1536"><td class="num" id="LN1536">1536</td><td class="line"> orientation,</td></tr>
+<tr class="codeline" data-linenumber="1537"><td class="num" id="LN1537">1537</td><td class="line"> strut,</td></tr>
+<tr class="codeline" data-linenumber="1538"><td class="num" id="LN1538">1538</td><td class="line"> strut_start,</td></tr>
+<tr class="codeline" data-linenumber="1539"><td class="num" id="LN1539">1539</td><td class="line"> strut_end);</td></tr>
+<tr class="codeline" data-linenumber="1540"><td class="num" id="LN1540">1540</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1541"><td class="num" id="LN1541">1541</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1542"><td class="num" id="LN1542">1542</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1543"><td class="num" id="LN1543">1543</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1544"><td class="num" id="LN1544">1544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1545"><td class="num" id="LN1545">1545</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="1546"><td class="num" id="LN1546">1546</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN ||</td></tr>
+<tr class="codeline" data-linenumber="1547"><td class="num" id="LN1547">1547</td><td class="line"> toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="1548"><td class="num" id="LN1548">1548</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1549"><td class="num" id="LN1549">1549</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1550"><td class="num" id="LN1550">1550</td><td class="line"> panel_struts_unset_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1551"><td class="num" id="LN1551">1551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1552"><td class="num" id="LN1552">1552</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="1553"><td class="num" id="LN1553">1553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1554"><td class="num" id="LN1554">1554</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1555"><td class="num" id="LN1555">1555</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1556"><td class="num" id="LN1556">1556</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1557"><td class="num" id="LN1557">1557</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1558"><td class="num" id="LN1558">1558</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="1559"><td class="num" id="LN1559">1559</td><td class="line"> <span class='keyword'>return</span> geometry_changed;</td></tr>
+<tr class="codeline" data-linenumber="1560"><td class="num" id="LN1560">1560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1561"><td class="num" id="LN1561">1561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1562"><td class="num" id="LN1562">1562</td><td class="line"><span class='keyword'>void</span> panel_toplevel_update_edges(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1563"><td class="num" id="LN1563">1563</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1564"><td class="num" id="LN1564">1564</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="1565"><td class="num" id="LN1565">1565</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="1566"><td class="num" id="LN1566">1566</td><td class="line"> PanelFrameEdge inner_edges;</td></tr>
+<tr class="codeline" data-linenumber="1567"><td class="num" id="LN1567">1567</td><td class="line"> PanelFrameEdge outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1568"><td class="num" id="LN1568">1568</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1569"><td class="num" id="LN1569">1569</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1570"><td class="num" id="LN1570">1570</td><td class="line"> gboolean inner_frame = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1571"><td class="num" id="LN1571">1571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1572"><td class="num" id="LN1572">1572</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1573"><td class="num" id="LN1573">1573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1574"><td class="num" id="LN1574">1574</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1575"><td class="num" id="LN1575">1575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1576"><td class="num" id="LN1576">1576</td><td class="line"> width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="1577"><td class="num" id="LN1577">1577</td><td class="line"> height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="1578"><td class="num" id="LN1578">1578</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1579"><td class="num" id="LN1579">1579</td><td class="line"> edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1580"><td class="num" id="LN1580">1580</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1581"><td class="num" id="LN1581">1581</td><td class="line"> <span class='comment'>/* We don't want any bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="1582"><td class="num" id="LN1582">1582</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1583"><td class="num" id="LN1583">1583</td><td class="line"> edges |= PANEL_EDGE_TOP;</td></tr>
+<tr class="codeline" data-linenumber="1584"><td class="num" id="LN1584">1584</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1585"><td class="num" id="LN1585">1585</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="1586"><td class="num" id="LN1586">1586</td><td class="line"> edges |= PANEL_EDGE_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="1587"><td class="num" id="LN1587">1587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1588"><td class="num" id="LN1588">1588</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.y &lt; (monitor_geom.height - height))</td></tr>
+<tr class="codeline" data-linenumber="1589"><td class="num" id="LN1589">1589</td><td class="line"> edges |= PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1590"><td class="num" id="LN1590">1590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1591"><td class="num" id="LN1591">1591</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x &lt; (monitor_geom.width - width))</td></tr>
+<tr class="codeline" data-linenumber="1592"><td class="num" id="LN1592">1592</td><td class="line"> edges |= PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1593"><td class="num" id="LN1593">1593</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1594"><td class="num" id="LN1594">1594</td><td class="line"> <span class='comment'>/* There is a conflict in the position algorithm when a</span></td></tr>
+<tr class="codeline" data-linenumber="1595"><td class="num" id="LN1595">1595</td><td class="line"> <span class='comment'>* non-expanded centered panel is nearly the size of the</span></td></tr>
+<tr class="codeline" data-linenumber="1596"><td class="num" id="LN1596">1596</td><td class="line"> <span class='comment'>* screen. This is similar to the one we have in</span></td></tr>
+<tr class="codeline" data-linenumber="1597"><td class="num" id="LN1597">1597</td><td class="line"> <span class='comment'>* panel_toplevel_update_position(). A simple solution is</span></td></tr>
+<tr class="codeline" data-linenumber="1598"><td class="num" id="LN1598">1598</td><td class="line"> <span class='comment'>* to keep the bevels in this case. */</span></td></tr>
+<tr class="codeline" data-linenumber="1599"><td class="num" id="LN1599">1599</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1600"><td class="num" id="LN1600">1600</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1601"><td class="num" id="LN1601">1601</td><td class="line"> toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1602"><td class="num" id="LN1602">1602</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1603"><td class="num" id="LN1603">1603</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1604"><td class="num" id="LN1604">1604</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1605"><td class="num" id="LN1605">1605</td><td class="line"> toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1606"><td class="num" id="LN1606">1606</td><td class="line"> toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1607"><td class="num" id="LN1607">1607</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1608"><td class="num" id="LN1608">1608</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1609"><td class="num" id="LN1609">1609</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_left) ||</td></tr>
+<tr class="codeline" data-linenumber="1610"><td class="num" id="LN1610">1610</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_right)) {</td></tr>
+<tr class="codeline" data-linenumber="1611"><td class="num" id="LN1611">1611</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1612"><td class="num" id="LN1612">1612</td><td class="line"> edges |= PANEL_EDGE_LEFT | PANEL_EDGE_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="1613"><td class="num" id="LN1613">1613</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1614"><td class="num" id="LN1614">1614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1615"><td class="num" id="LN1615">1615</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_top) ||</td></tr>
+<tr class="codeline" data-linenumber="1616"><td class="num" id="LN1616">1616</td><td class="line"> gtk_widget_get_visible (toplevel-&gt;priv-&gt;hide_button_bottom)) {</td></tr>
+<tr class="codeline" data-linenumber="1617"><td class="num" id="LN1617">1617</td><td class="line"> inner_frame = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1618"><td class="num" id="LN1618">1618</td><td class="line"> edges |= PANEL_EDGE_TOP | PANEL_EDGE_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="1619"><td class="num" id="LN1619">1619</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1620"><td class="num" id="LN1620">1620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1621"><td class="num" id="LN1621">1621</td><td class="line"> <span class='keyword'>if</span> (!inner_frame) {</td></tr>
+<tr class="codeline" data-linenumber="1622"><td class="num" id="LN1622">1622</td><td class="line"> inner_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1623"><td class="num" id="LN1623">1623</td><td class="line"> outer_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1624"><td class="num" id="LN1624">1624</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1625"><td class="num" id="LN1625">1625</td><td class="line"> inner_edges = edges;</td></tr>
+<tr class="codeline" data-linenumber="1626"><td class="num" id="LN1626">1626</td><td class="line"> outer_edges = PANEL_EDGE_NONE;</td></tr>
+<tr class="codeline" data-linenumber="1627"><td class="num" id="LN1627">1627</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1628"><td class="num" id="LN1628">1628</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1629"><td class="num" id="LN1629">1629</td><td class="line"> panel_frame_set_edges (toplevel-&gt;priv-&gt;inner_frame, inner_edges);</td></tr>
+<tr class="codeline" data-linenumber="1630"><td class="num" id="LN1630">1630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1631"><td class="num" id="LN1631">1631</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges != outer_edges) {</td></tr>
+<tr class="codeline" data-linenumber="1632"><td class="num" id="LN1632">1632</td><td class="line"> toplevel-&gt;priv-&gt;edges = outer_edges;</td></tr>
+<tr class="codeline" data-linenumber="1633"><td class="num" id="LN1633">1633</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="1634"><td class="num" id="LN1634">1634</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1635"><td class="num" id="LN1635">1635</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1636"><td class="num" id="LN1636">1636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1637"><td class="num" id="LN1637">1637</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_construct_description(PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1638"><td class="num" id="LN1638">1638</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1639"><td class="num" id="LN1639">1639</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="1640"><td class="num" id="LN1640">1640</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Drawer"</span>)<span class='macro_popup'>gettext ("Drawer")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1641"><td class="num" id="LN1641">1641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1642"><td class="num" id="LN1642">1642</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1643"><td class="num" id="LN1643">1643</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1644"><td class="num" id="LN1644">1644</td><td class="line"> <span class='comment'>/* translators: these string will be shown in MetaCity's switch window</span></td></tr>
+<tr class="codeline" data-linenumber="1645"><td class="num" id="LN1645">1645</td><td class="line"> <span class='comment'>* popup when you pass the focus to a panel */</span></td></tr>
+<tr class="codeline" data-linenumber="1646"><td class="num" id="LN1646">1646</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1647"><td class="num" id="LN1647">1647</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1648"><td class="num" id="LN1648">1648</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Bottom Panel"</span>)<span class='macro_popup'>gettext ("Bottom Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1649"><td class="num" id="LN1649">1649</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1650"><td class="num" id="LN1650">1650</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Left Panel"</span>)<span class='macro_popup'>gettext ("Left Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1651"><td class="num" id="LN1651">1651</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1652"><td class="num" id="LN1652">1652</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Right Panel"</span>)<span class='macro_popup'>gettext ("Right Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1653"><td class="num" id="LN1653">1653</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1654"><td class="num" id="LN1654">1654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1655"><td class="num" id="LN1655">1655</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1655, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1656"><td class="num" id="LN1656">1656</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>_(<span class='string_literal'>"Top Panel"</span>)<span class='macro_popup'>gettext ("Top Panel")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1657"><td class="num" id="LN1657">1657</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1658"><td class="num" id="LN1658">1658</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1659"><td class="num" id="LN1659">1659</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1660"><td class="num" id="LN1660">1660</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1661"><td class="num" id="LN1661">1661</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *description;</td></tr>
+<tr class="codeline" data-linenumber="1662"><td class="num" id="LN1662">1662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1663"><td class="num" id="LN1663">1663</td><td class="line"> description = panel_toplevel_construct_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1664"><td class="num" id="LN1664">1664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1665"><td class="num" id="LN1665">1665</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1666"><td class="num" id="LN1666">1666</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;description, description))</td></tr>
+<tr class="codeline" data-linenumber="1667"><td class="num" id="LN1667">1667</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1668"><td class="num" id="LN1668">1668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1669"><td class="num" id="LN1669">1669</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;description)</td></tr>
+<tr class="codeline" data-linenumber="1670"><td class="num" id="LN1670">1670</td><td class="line"> g_free (toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1671"><td class="num" id="LN1671">1671</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>g_strdup (description)<span class='macro_popup'>g_strdup_inline (description)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1672"><td class="num" id="LN1672">1672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1673"><td class="num" id="LN1673">1673</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name)</td></tr>
+<tr class="codeline" data-linenumber="1674"><td class="num" id="LN1674">1674</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1675"><td class="num" id="LN1675">1675</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1676"><td class="num" id="LN1676">1676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1677"><td class="num" id="LN1677">1677</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="1678"><td class="num" id="LN1678">1678</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1679"><td class="num" id="LN1679">1679</td><td class="line"> toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name :</td></tr>
+<tr class="codeline" data-linenumber="1680"><td class="num" id="LN1680">1680</td><td class="line"> toplevel-&gt;priv-&gt;description,</td></tr>
+<tr class="codeline" data-linenumber="1681"><td class="num" id="LN1681">1681</td><td class="line"> toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="1682"><td class="num" id="LN1682">1682</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1683"><td class="num" id="LN1683">1683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1684"><td class="num" id="LN1684">1684</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_attached_position(PanelToplevel* toplevel, gboolean hidden, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1685"><td class="num" id="LN1685">1685</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1686"><td class="num" id="LN1686">1686</td><td class="line"> GtkAllocation attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1687"><td class="num" id="LN1687">1687</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="1688"><td class="num" id="LN1688">1688</td><td class="line"> GdkRectangle toplevel_box;</td></tr>
+<tr class="codeline" data-linenumber="1689"><td class="num" id="LN1689">1689</td><td class="line"> GdkRectangle parent_box;</td></tr>
+<tr class="codeline" data-linenumber="1690"><td class="num" id="LN1690">1690</td><td class="line"> GdkRectangle attach_box;</td></tr>
+<tr class="codeline" data-linenumber="1691"><td class="num" id="LN1691">1691</td><td class="line"> <span class='keyword'>int</span> x_origin = 0, y_origin = 0;</td></tr>
+<tr class="codeline" data-linenumber="1692"><td class="num" id="LN1692">1692</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1693"><td class="num" id="LN1693">1693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1694"><td class="num" id="LN1694">1694</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_widget_get_type<br> ()))))))</span></span>) ||</td></tr>
+<tr class="codeline" data-linenumber="1695"><td class="num" id="LN1695">1695</td><td class="line"> !gtk_widget_get_realized (toplevel-&gt;priv-&gt;attach_widget))</td></tr>
+<tr class="codeline" data-linenumber="1696"><td class="num" id="LN1696">1696</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1697"><td class="num" id="LN1697">1697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1698"><td class="num" id="LN1698">1698</td><td class="line"> gtk_widget_get_allocation (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>, &amp;attach_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1699"><td class="num" id="LN1699">1699</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1700"><td class="num" id="LN1700">1700</td><td class="line"> toplevel_box = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1701"><td class="num" id="LN1701">1701</td><td class="line"> parent_box = toplevel-&gt;priv-&gt;attach_toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="1702"><td class="num" id="LN1702">1702</td><td class="line"> attach_box = attach_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1703"><td class="num" id="LN1703">1703</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1704"><td class="num" id="LN1704">1704</td><td class="line"> <span class='keyword'>if</span> (attach_box.x != -1) {</td></tr>
+<tr class="codeline" data-linenumber="1705"><td class="num" id="LN1705">1705</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>),</td></tr>
+<tr class="codeline" data-linenumber="1706"><td class="num" id="LN1706">1706</td><td class="line"> &amp;x_origin, &amp;y_origin);</td></tr>
+<tr class="codeline" data-linenumber="1707"><td class="num" id="LN1707">1707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1708"><td class="num" id="LN1708">1708</td><td class="line"> attach_box.x += x_origin;</td></tr>
+<tr class="codeline" data-linenumber="1709"><td class="num" id="LN1709">1709</td><td class="line"> attach_box.y += y_origin;</td></tr>
+<tr class="codeline" data-linenumber="1710"><td class="num" id="LN1710">1710</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1711"><td class="num" id="LN1711">1711</td><td class="line"> <span class='comment'>/* attach_widget isn't allocated. Put the toplevel</span></td></tr>
+<tr class="codeline" data-linenumber="1712"><td class="num" id="LN1712">1712</td><td class="line"> <span class='comment'>* off screen.</span></td></tr>
+<tr class="codeline" data-linenumber="1713"><td class="num" id="LN1713">1713</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1714"><td class="num" id="LN1714">1714</td><td class="line"> attach_box.x = -toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1715"><td class="num" id="LN1715">1715</td><td class="line"> attach_box.y = -toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1716"><td class="num" id="LN1716">1716</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1717"><td class="num" id="LN1717">1717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1718"><td class="num" id="LN1718">1718</td><td class="line"> attach_orientation = panel_toplevel_get_orientation (</td></tr>
+<tr class="codeline" data-linenumber="1719"><td class="num" id="LN1719">1719</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1720"><td class="num" id="LN1720">1720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1721"><td class="num" id="LN1721">1721</td><td class="line"> <span class='keyword'>if</span> (attach_orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1722"><td class="num" id="LN1722">1722</td><td class="line"> *x = attach_box.x + attach_box.width / 2 - toplevel_box.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="1723"><td class="num" id="LN1723">1723</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1724"><td class="num" id="LN1724">1724</td><td class="line"> *y = attach_box.y + attach_box.height / 2 - toplevel_box.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="1725"><td class="num" id="LN1725">1725</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1726"><td class="num" id="LN1726">1726</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1727"><td class="num" id="LN1727">1727</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1728"><td class="num" id="LN1728">1728</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1729"><td class="num" id="LN1729">1729</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1730"><td class="num" id="LN1730">1730</td><td class="line"> *y += parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1731"><td class="num" id="LN1731">1731</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1732"><td class="num" id="LN1732">1732</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1733"><td class="num" id="LN1733">1733</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1734"><td class="num" id="LN1734">1734</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1735"><td class="num" id="LN1735">1735</td><td class="line"> *y = parent_box.y;</td></tr>
+<tr class="codeline" data-linenumber="1736"><td class="num" id="LN1736">1736</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1737"><td class="num" id="LN1737">1737</td><td class="line"> *y -= toplevel_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1738"><td class="num" id="LN1738">1738</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1739"><td class="num" id="LN1739">1739</td><td class="line"> *h = parent_box.height;</td></tr>
+<tr class="codeline" data-linenumber="1740"><td class="num" id="LN1740">1740</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1741"><td class="num" id="LN1741">1741</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1742"><td class="num" id="LN1742">1742</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1743"><td class="num" id="LN1743">1743</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1744"><td class="num" id="LN1744">1744</td><td class="line"> *x += parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1745"><td class="num" id="LN1745">1745</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1746"><td class="num" id="LN1746">1746</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1747"><td class="num" id="LN1747">1747</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1748"><td class="num" id="LN1748">1748</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1749"><td class="num" id="LN1749">1749</td><td class="line"> *x = parent_box.x;</td></tr>
+<tr class="codeline" data-linenumber="1750"><td class="num" id="LN1750">1750</td><td class="line"> <span class='keyword'>if</span> (!hidden)</td></tr>
+<tr class="codeline" data-linenumber="1751"><td class="num" id="LN1751">1751</td><td class="line"> *x -= toplevel_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1752"><td class="num" id="LN1752">1752</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1753"><td class="num" id="LN1753">1753</td><td class="line"> *w = parent_box.width;</td></tr>
+<tr class="codeline" data-linenumber="1754"><td class="num" id="LN1754">1754</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1755"><td class="num" id="LN1755">1755</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1756"><td class="num" id="LN1756">1756</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1756, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1757"><td class="num" id="LN1757">1757</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1758"><td class="num" id="LN1758">1758</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1759"><td class="num" id="LN1759">1759</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1760"><td class="num" id="LN1760">1760</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1761"><td class="num" id="LN1761">1761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1762"><td class="num" id="LN1762">1762</td><td class="line"> *x -= monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="1763"><td class="num" id="LN1763">1763</td><td class="line"> *y -= monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="1764"><td class="num" id="LN1764">1764</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1765"><td class="num" id="LN1765">1765</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="1766"><td class="num" id="LN1766">1766</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - toplevel-&gt;priv-&gt;original_width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>)) ? (monitor_geom.width - toplevel-&gt;priv-&gt;original_width<br>) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1767"><td class="num" id="LN1767">1767</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="1768"><td class="num" id="LN1768">1768</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - toplevel-&gt;priv-&gt;original_height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>)) ? (monitor_geom.height - toplevel-&gt;priv-&gt;original_height<br>) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1769"><td class="num" id="LN1769">1769</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1770"><td class="num" id="LN1770">1770</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1771"><td class="num" id="LN1771">1771</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> panel_toplevel_update_normal_position(PanelToplevel* toplevel, <span class='keyword'>int</span>* x, <span class='keyword'>int</span>* y, <span class='keyword'>int</span>* w, <span class='keyword'>int</span>* h)</td></tr>
+<tr class="codeline" data-linenumber="1772"><td class="num" id="LN1772">1772</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1773"><td class="num" id="LN1773">1773</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1774"><td class="num" id="LN1774">1774</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1775"><td class="num" id="LN1775">1775</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1776"><td class="num" id="LN1776">1776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1777"><td class="num" id="LN1777">1777</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1777, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1778"><td class="num" id="LN1778">1778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1779"><td class="num" id="LN1779">1779</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1780"><td class="num" id="LN1780">1780</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1781"><td class="num" id="LN1781">1781</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1782"><td class="num" id="LN1782">1782</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1783"><td class="num" id="LN1783">1783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1784"><td class="num" id="LN1784">1784</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1785"><td class="num" id="LN1785">1785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1786"><td class="num" id="LN1786">1786</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1787"><td class="num" id="LN1787">1787</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1788"><td class="num" id="LN1788">1788</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1789"><td class="num" id="LN1789">1789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1790"><td class="num" id="LN1790">1790</td><td class="line"> *x = <span class='macro'>CLAMP (*x, 0, monitor_geom.width - width)<span class='macro_popup'>(((*x) &gt; (monitor_geom.width - width)) ? (monitor_geom.width<br> - width) : (((*x) &lt; (0)) ? (0) : (*x)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1791"><td class="num" id="LN1791">1791</td><td class="line"> *y = <span class='macro'>CLAMP (*y, 0, monitor_geom.height - height)<span class='macro_popup'>(((*y) &gt; (monitor_geom.height - height)) ? (monitor_geom.height<br> - height) : (((*y) &lt; (0)) ? (0) : (*y)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1792"><td class="num" id="LN1792">1792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1793"><td class="num" id="LN1793">1793</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1794"><td class="num" id="LN1794">1794</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1795"><td class="num" id="LN1795">1795</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1796"><td class="num" id="LN1796">1796</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1797"><td class="num" id="LN1797">1797</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1798"><td class="num" id="LN1798">1798</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1799"><td class="num" id="LN1799">1799</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1800"><td class="num" id="LN1800">1800</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1801"><td class="num" id="LN1801">1801</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1802"><td class="num" id="LN1802">1802</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1803"><td class="num" id="LN1803">1803</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1804"><td class="num" id="LN1804">1804</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1805"><td class="num" id="LN1805">1805</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1806"><td class="num" id="LN1806">1806</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1807"><td class="num" id="LN1807">1807</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1808"><td class="num" id="LN1808">1808</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1809"><td class="num" id="LN1809">1809</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1810"><td class="num" id="LN1810">1810</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1811"><td class="num" id="LN1811">1811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1812"><td class="num" id="LN1812">1812</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1813"><td class="num" id="LN1813">1813</td><td class="line">panel_toplevel_update_auto_hide_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1814"><td class="num" id="LN1814">1814</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1815"><td class="num" id="LN1815">1815</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1816"><td class="num" id="LN1816">1816</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1817"><td class="num" id="LN1817">1817</td><td class="line"> <span class='keyword'>int</span> *h,</td></tr>
+<tr class="codeline" data-linenumber="1818"><td class="num" id="LN1818">1818</td><td class="line"> gboolean for_end_position)</td></tr>
+<tr class="codeline" data-linenumber="1819"><td class="num" id="LN1819">1819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1820"><td class="num" id="LN1820">1820</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1821"><td class="num" id="LN1821">1821</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1822"><td class="num" id="LN1822">1822</td><td class="line"> <span class='keyword'>int</span> auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1823"><td class="num" id="LN1823">1823</td><td class="line"> <span class='keyword'>int</span> snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1824"><td class="num" id="LN1824">1824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1825"><td class="num" id="LN1825">1825</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1825, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1826"><td class="num" id="LN1826">1826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1827"><td class="num" id="LN1827">1827</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;floating) {</td></tr>
+<tr class="codeline" data-linenumber="1828"><td class="num" id="LN1828">1828</td><td class="line"> panel_toplevel_update_normal_position (toplevel, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1829"><td class="num" id="LN1829">1829</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1830"><td class="num" id="LN1830">1830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1831"><td class="num" id="LN1831">1831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1832"><td class="num" id="LN1832">1832</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1833"><td class="num" id="LN1833">1833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1834"><td class="num" id="LN1834">1834</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1835"><td class="num" id="LN1835">1835</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1836"><td class="num" id="LN1836">1836</td><td class="line"> snap_tolerance = toplevel-&gt;priv-&gt;snap_tolerance;</td></tr>
+<tr class="codeline" data-linenumber="1837"><td class="num" id="LN1837">1837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1838"><td class="num" id="LN1838">1838</td><td class="line"> <span class='comment'>/* For the initial animation, we animate from outside the screen, and</span></td></tr>
+<tr class="codeline" data-linenumber="1839"><td class="num" id="LN1839">1839</td><td class="line"> <span class='comment'>* so we don't want the toplevel to be visible at all. But when the</span></td></tr>
+<tr class="codeline" data-linenumber="1840"><td class="num" id="LN1840">1840</td><td class="line"> <span class='comment'>* request is for the end position, then we give the real result (it's</span></td></tr>
+<tr class="codeline" data-linenumber="1841"><td class="num" id="LN1841">1841</td><td class="line"> <span class='comment'>* useful for struts) */</span></td></tr>
+<tr class="codeline" data-linenumber="1842"><td class="num" id="LN1842">1842</td><td class="line"> <span class='keyword'>if</span> (for_end_position || toplevel-&gt;priv-&gt;initial_animation_done) {</td></tr>
+<tr class="codeline" data-linenumber="1843"><td class="num" id="LN1843">1843</td><td class="line"> auto_hide_size = panel_toplevel_get_effective_auto_hide_size (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="1844"><td class="num" id="LN1844">1844</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1845"><td class="num" id="LN1845">1845</td><td class="line"> auto_hide_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="1846"><td class="num" id="LN1846">1846</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1847"><td class="num" id="LN1847">1847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1848"><td class="num" id="LN1848">1848</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="1849"><td class="num" id="LN1849">1849</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="1850"><td class="num" id="LN1850">1850</td><td class="line"> *y = - (height - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1851"><td class="num" id="LN1851">1851</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1852"><td class="num" id="LN1852">1852</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="1853"><td class="num" id="LN1853">1853</td><td class="line"> *y = monitor_geom.height - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1854"><td class="num" id="LN1854">1854</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1855"><td class="num" id="LN1855">1855</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1856"><td class="num" id="LN1856">1856</td><td class="line"> *x = - (width - auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="1857"><td class="num" id="LN1857">1857</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1858"><td class="num" id="LN1858">1858</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1859"><td class="num" id="LN1859">1859</td><td class="line"> *x = monitor_geom.width - auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1860"><td class="num" id="LN1860">1860</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1861"><td class="num" id="LN1861">1861</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1862"><td class="num" id="LN1862">1862</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1862, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1863"><td class="num" id="LN1863">1863</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1864"><td class="num" id="LN1864">1864</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1865"><td class="num" id="LN1865">1865</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1866"><td class="num" id="LN1866">1866</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1867"><td class="num" id="LN1867">1867</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1868"><td class="num" id="LN1868">1868</td><td class="line"> toplevel-&gt;priv-&gt;x_right == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1869"><td class="num" id="LN1869">1869</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1870"><td class="num" id="LN1870">1870</td><td class="line"> *x = 0;</td></tr>
+<tr class="codeline" data-linenumber="1871"><td class="num" id="LN1871">1871</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1872"><td class="num" id="LN1872">1872</td><td class="line"> toplevel-&gt;priv-&gt;x_right &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1873"><td class="num" id="LN1873">1873</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="1874"><td class="num" id="LN1874">1874</td><td class="line"> *x = monitor_geom.width - width;</td></tr>
+<tr class="codeline" data-linenumber="1875"><td class="num" id="LN1875">1875</td><td class="line"> } <span class='keyword'>else</span> <span class='comment'>/* if (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK) */</span> {</td></tr>
+<tr class="codeline" data-linenumber="1876"><td class="num" id="LN1876">1876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1877"><td class="num" id="LN1877">1877</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom == -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1878"><td class="num" id="LN1878">1878</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1879"><td class="num" id="LN1879">1879</td><td class="line"> *y = 0;</td></tr>
+<tr class="codeline" data-linenumber="1880"><td class="num" id="LN1880">1880</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1881"><td class="num" id="LN1881">1881</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom &lt;= snap_tolerance &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="1882"><td class="num" id="LN1882">1882</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="1883"><td class="num" id="LN1883">1883</td><td class="line"> *y = monitor_geom.height - height;</td></tr>
+<tr class="codeline" data-linenumber="1884"><td class="num" id="LN1884">1884</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1885"><td class="num" id="LN1885">1885</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1886"><td class="num" id="LN1886">1886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1887"><td class="num" id="LN1887">1887</td><td class="line"><span class='comment'>/* FIXME: this is wrong for Xinerama. In the Xinerama case</span></td></tr>
+<tr class="codeline" data-linenumber="1888"><td class="num" id="LN1888">1888</td><td class="line"> <span class='comment'>* I think if hiding it requires it to go onto the</span></td></tr>
+<tr class="codeline" data-linenumber="1889"><td class="num" id="LN1889">1889</td><td class="line"> <span class='comment'>* next monitor then it should just move it on to</span></td></tr>
+<tr class="codeline" data-linenumber="1890"><td class="num" id="LN1890">1890</td><td class="line"> <span class='comment'>* the next monitor and set its state back to normal</span></td></tr>
+<tr class="codeline" data-linenumber="1891"><td class="num" id="LN1891">1891</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1892"><td class="num" id="LN1892">1892</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1893"><td class="num" id="LN1893">1893</td><td class="line">panel_toplevel_update_hidden_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="1894"><td class="num" id="LN1894">1894</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="1895"><td class="num" id="LN1895">1895</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="1896"><td class="num" id="LN1896">1896</td><td class="line"> <span class='keyword'>int</span> *w,</td></tr>
+<tr class="codeline" data-linenumber="1897"><td class="num" id="LN1897">1897</td><td class="line"> <span class='keyword'>int</span> *h)</td></tr>
+<tr class="codeline" data-linenumber="1898"><td class="num" id="LN1898">1898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1899"><td class="num" id="LN1899">1899</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="1900"><td class="num" id="LN1900">1900</td><td class="line"> <span class='keyword'>int</span> min_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="1901"><td class="num" id="LN1901">1901</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="1902"><td class="num" id="LN1902">1902</td><td class="line"> GtkAllocation hide_allocation;</td></tr>
+<tr class="codeline" data-linenumber="1903"><td class="num" id="LN1903">1903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1904"><td class="num" id="LN1904">1904</td><td class="line"> <span class='macro'>g_assert (x != NULL &amp;&amp; y != NULL)<span class='macro_popup'>do { if (x != ((void*)0) &amp;&amp; y != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1904, ((const char*) (__func__<br>)), "x != NULL &amp;&amp; y != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1905"><td class="num" id="LN1905">1905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1906"><td class="num" id="LN1906">1906</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1907"><td class="num" id="LN1907">1907</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1908"><td class="num" id="LN1908">1908</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1909"><td class="num" id="LN1909">1909</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP<br> || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||<br> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel<br>-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 1909, ((const char*) (__func__<br>)), "toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT || toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1910"><td class="num" id="LN1910">1910</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1911"><td class="num" id="LN1911">1911</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="1912"><td class="num" id="LN1912">1912</td><td class="line"> panel_toplevel_update_attached_position (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, x, y, w, h);</td></tr>
+<tr class="codeline" data-linenumber="1913"><td class="num" id="LN1913">1913</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1914"><td class="num" id="LN1914">1914</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1915"><td class="num" id="LN1915">1915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1916"><td class="num" id="LN1916">1916</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="1917"><td class="num" id="LN1917">1917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1918"><td class="num" id="LN1918">1918</td><td class="line"> width = toplevel-&gt;priv-&gt;original_width;</td></tr>
+<tr class="codeline" data-linenumber="1919"><td class="num" id="LN1919">1919</td><td class="line"> height = toplevel-&gt;priv-&gt;original_height;</td></tr>
+<tr class="codeline" data-linenumber="1920"><td class="num" id="LN1920">1920</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1921"><td class="num" id="LN1921">1921</td><td class="line"> <span class='comment'>/* FIXME should find a better default */</span></td></tr>
+<tr class="codeline" data-linenumber="1922"><td class="num" id="LN1922">1922</td><td class="line"> min_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1923"><td class="num" id="LN1923">1923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1924"><td class="num" id="LN1924">1924</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="1925"><td class="num" id="LN1925">1925</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="1926"><td class="num" id="LN1926">1926</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_bottom,</td></tr>
+<tr class="codeline" data-linenumber="1927"><td class="num" id="LN1927">1927</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1928"><td class="num" id="LN1928">1928</td><td class="line"> *y = - (height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1929"><td class="num" id="LN1929">1929</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1930"><td class="num" id="LN1930">1930</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="1931"><td class="num" id="LN1931">1931</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_top,</td></tr>
+<tr class="codeline" data-linenumber="1932"><td class="num" id="LN1932">1932</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1933"><td class="num" id="LN1933">1933</td><td class="line"> *y = monitor_geom.height - <span class='macro'>MAX (hide_allocation.height, min_hide_size)<span class='macro_popup'>(((hide_allocation.height) &gt; (min_hide_size)) ? (hide_allocation<br>.height) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1934"><td class="num" id="LN1934">1934</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1935"><td class="num" id="LN1935">1935</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="1936"><td class="num" id="LN1936">1936</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_right,</td></tr>
+<tr class="codeline" data-linenumber="1937"><td class="num" id="LN1937">1937</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1938"><td class="num" id="LN1938">1938</td><td class="line"> *x = - (width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1939"><td class="num" id="LN1939">1939</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1940"><td class="num" id="LN1940">1940</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="1941"><td class="num" id="LN1941">1941</td><td class="line"> gtk_widget_get_allocation (toplevel-&gt;priv-&gt;hide_button_left,</td></tr>
+<tr class="codeline" data-linenumber="1942"><td class="num" id="LN1942">1942</td><td class="line"> &amp;hide_allocation);</td></tr>
+<tr class="codeline" data-linenumber="1943"><td class="num" id="LN1943">1943</td><td class="line"> *x = monitor_geom.width - <span class='macro'>MAX (hide_allocation.width, min_hide_size)<span class='macro_popup'>(((hide_allocation.width) &gt; (min_hide_size)) ? (hide_allocation<br>.width) : (min_hide_size))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1944"><td class="num" id="LN1944">1944</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1945"><td class="num" id="LN1945">1945</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="1946"><td class="num" id="LN1946">1946</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 1946, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1947"><td class="num" id="LN1947">1947</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="1948"><td class="num" id="LN1948">1948</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1949"><td class="num" id="LN1949">1949</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1950"><td class="num" id="LN1950">1950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1951"><td class="num" id="LN1951">1951</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="1952"><td class="num" id="LN1952">1952</td><td class="line"> <span class='comment'>* This is "almost" like the double sine movement</span></td></tr>
+<tr class="codeline" data-linenumber="1953"><td class="num" id="LN1953">1953</td><td class="line"> <span class='comment'>* from the original panel except that it uses</span></td></tr>
+<tr class="codeline" data-linenumber="1954"><td class="num" id="LN1954">1954</td><td class="line"> <span class='comment'>* a cubic (twice again). I suppose it looks less</span></td></tr>
+<tr class="codeline" data-linenumber="1955"><td class="num" id="LN1955">1955</td><td class="line"> <span class='comment'>* mathematical now :) -- _v_</span></td></tr>
+<tr class="codeline" data-linenumber="1956"><td class="num" id="LN1956">1956</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1957"><td class="num" id="LN1957">1957</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="1958"><td class="num" id="LN1958">1958</td><td class="line">get_delta (<span class='keyword'>int</span> src,</td></tr>
+<tr class="codeline" data-linenumber="1959"><td class="num" id="LN1959">1959</td><td class="line"> <span class='keyword'>int</span> dest,</td></tr>
+<tr class="codeline" data-linenumber="1960"><td class="num" id="LN1960">1960</td><td class="line"> GTimeSpan elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="1961"><td class="num" id="LN1961">1961</td><td class="line"> GTimeSpan duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1962"><td class="num" id="LN1962">1962</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1963"><td class="num" id="LN1963">1963</td><td class="line"> <span class='keyword'>double</span> x, percentage;</td></tr>
+<tr class="codeline" data-linenumber="1964"><td class="num" id="LN1964">1964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1965"><td class="num" id="LN1965">1965</td><td class="line"> <span class='keyword'>if</span> (abs (dest - src) &lt;= 1 || elapsed_time &gt;= duration_time)</td></tr>
+<tr class="codeline" data-linenumber="1966"><td class="num" id="LN1966">1966</td><td class="line"> <span class='keyword'>return</span> dest - src;</td></tr>
+<tr class="codeline" data-linenumber="1967"><td class="num" id="LN1967">1967</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1968"><td class="num" id="LN1968">1968</td><td class="line"> <span class='comment'>/* The cubic is: p(x) = (-2) x^2 (x-1.5) */</span></td></tr>
+<tr class="codeline" data-linenumber="1969"><td class="num" id="LN1969">1969</td><td class="line"> <span class='comment'>/* running p(p(x)) to make it more "pronounced",</span></td></tr>
+<tr class="codeline" data-linenumber="1970"><td class="num" id="LN1970">1970</td><td class="line"> <span class='comment'>* effectively making it a ninth-degree polynomial */</span></td></tr>
+<tr class="codeline" data-linenumber="1971"><td class="num" id="LN1971">1971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1972"><td class="num" id="LN1972">1972</td><td class="line"> x = (<span class='keyword'>double</span>)elapsed_time/duration_time;</td></tr>
+<tr class="codeline" data-linenumber="1973"><td class="num" id="LN1973">1973</td><td class="line"> x = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1974"><td class="num" id="LN1974">1974</td><td class="line"> <span class='comment'>/* run it again */</span></td></tr>
+<tr class="codeline" data-linenumber="1975"><td class="num" id="LN1975">1975</td><td class="line"> percentage = -2 * (x*x) * (x-1.5);</td></tr>
+<tr class="codeline" data-linenumber="1976"><td class="num" id="LN1976">1976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1977"><td class="num" id="LN1977">1977</td><td class="line"> percentage = <span class='macro'>CLAMP (percentage, 0.0, 1.0)<span class='macro_popup'>(((percentage) &gt; (1.0)) ? (1.0) : (((percentage) &lt; (0.0<br>)) ? (0.0) : (percentage)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1978"><td class="num" id="LN1978">1978</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1979"><td class="num" id="LN1979">1979</td><td class="line"> <span class='keyword'>return</span> ((dest - src) * percentage);</td></tr>
+<tr class="codeline" data-linenumber="1980"><td class="num" id="LN1980">1980</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1981"><td class="num" id="LN1981">1981</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1982"><td class="num" id="LN1982">1982</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1983"><td class="num" id="LN1983">1983</td><td class="line">panel_toplevel_update_animating_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="1984"><td class="num" id="LN1984">1984</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1985"><td class="num" id="LN1985">1985</td><td class="line"> GTimeSpan animation_elapsed_time;</td></tr>
+<tr class="codeline" data-linenumber="1986"><td class="num" id="LN1986">1986</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="1987"><td class="num" id="LN1987">1987</td><td class="line"> <span class='keyword'>int</span> monitor_offset_x, monitor_offset_y;</td></tr>
+<tr class="codeline" data-linenumber="1988"><td class="num" id="LN1988">1988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1989"><td class="num" id="LN1989">1989</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;animation_start_time &lt;= 0) ||</td></tr>
+<tr class="codeline" data-linenumber="1990"><td class="num" id="LN1990">1990</td><td class="line"> (toplevel-&gt;priv-&gt;animation_duration_time &lt;= 0))</td></tr>
+<tr class="codeline" data-linenumber="1991"><td class="num" id="LN1991">1991</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1992"><td class="num" id="LN1992">1992</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1993"><td class="num" id="LN1993">1993</td><td class="line"> animation_elapsed_time = g_get_monotonic_time () - toplevel-&gt;priv-&gt;animation_start_time;</td></tr>
+<tr class="codeline" data-linenumber="1994"><td class="num" id="LN1994">1994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1995"><td class="num" id="LN1995">1995</td><td class="line"> monitor_offset_x = panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1996"><td class="num" id="LN1996">1996</td><td class="line"> monitor_offset_y = panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="1997"><td class="num" id="LN1997">1997</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1998"><td class="num" id="LN1998">1998</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="1999"><td class="num" id="LN1999">1999</td><td class="line"> deltaw = get_delta (toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2000"><td class="num" id="LN2000">2000</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="2001"><td class="num" id="LN2001">2001</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2002"><td class="num" id="LN2002">2002</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2003"><td class="num" id="LN2003">2003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2004"><td class="num" id="LN2004">2004</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="2005"><td class="num" id="LN2005">2005</td><td class="line"> deltah = get_delta (toplevel-&gt;priv-&gt;geometry.height,</td></tr>
+<tr class="codeline" data-linenumber="2006"><td class="num" id="LN2006">2006</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="2007"><td class="num" id="LN2007">2007</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2008"><td class="num" id="LN2008">2008</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2009"><td class="num" id="LN2009">2009</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2010"><td class="num" id="LN2010">2010</td><td class="line"> deltax = get_delta (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="2011"><td class="num" id="LN2011">2011</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="2012"><td class="num" id="LN2012">2012</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2013"><td class="num" id="LN2013">2013</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2014"><td class="num" id="LN2014">2014</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2015"><td class="num" id="LN2015">2015</td><td class="line"> deltay = get_delta (toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y,</td></tr>
+<tr class="codeline" data-linenumber="2016"><td class="num" id="LN2016">2016</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="2017"><td class="num" id="LN2017">2017</td><td class="line"> animation_elapsed_time,</td></tr>
+<tr class="codeline" data-linenumber="2018"><td class="num" id="LN2018">2018</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time);</td></tr>
+<tr class="codeline" data-linenumber="2019"><td class="num" id="LN2019">2019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2020"><td class="num" id="LN2020">2020</td><td class="line"> <span class='keyword'>if</span> (deltaw != 0 &amp;&amp; abs (deltaw) &gt; abs (deltax))</td></tr>
+<tr class="codeline" data-linenumber="2021"><td class="num" id="LN2021">2021</td><td class="line"> deltax = deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2022"><td class="num" id="LN2022">2022</td><td class="line"> <span class='keyword'>if</span> (deltah != 0 &amp;&amp; abs (deltah) &gt; abs (deltay))</td></tr>
+<tr class="codeline" data-linenumber="2023"><td class="num" id="LN2023">2023</td><td class="line"> deltay = deltah;</td></tr>
+<tr class="codeline" data-linenumber="2024"><td class="num" id="LN2024">2024</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2025"><td class="num" id="LN2025">2025</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x += deltax;</td></tr>
+<tr class="codeline" data-linenumber="2026"><td class="num" id="LN2026">2026</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y += deltay;</td></tr>
+<tr class="codeline" data-linenumber="2027"><td class="num" id="LN2027">2027</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2028"><td class="num" id="LN2028">2028</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width += deltaw;</td></tr>
+<tr class="codeline" data-linenumber="2029"><td class="num" id="LN2029">2029</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height += deltah;</td></tr>
+<tr class="codeline" data-linenumber="2030"><td class="num" id="LN2030">2030</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2031"><td class="num" id="LN2031">2031</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;geometry.x - monitor_offset_x == toplevel-&gt;priv-&gt;animation_end_x &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2032"><td class="num" id="LN2032">2032</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y - monitor_offset_y == toplevel-&gt;priv-&gt;animation_end_y) {</td></tr>
+<tr class="codeline" data-linenumber="2033"><td class="num" id="LN2033">2033</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2034"><td class="num" id="LN2034">2034</td><td class="line"> <span class='comment'>/* Note: it's important to set initial_animation_done to TRUE</span></td></tr>
+<tr class="codeline" data-linenumber="2035"><td class="num" id="LN2035">2035</td><td class="line"> <span class='comment'>* as soon as possible (hence, here) since we don't want to</span></td></tr>
+<tr class="codeline" data-linenumber="2036"><td class="num" id="LN2036">2036</td><td class="line"> <span class='comment'>* have a wrong value in a size request event */</span></td></tr>
+<tr class="codeline" data-linenumber="2037"><td class="num" id="LN2037">2037</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2038"><td class="num" id="LN2038">2038</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2039"><td class="num" id="LN2039">2039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; panel_toplevel_get_is_hidden (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="2040"><td class="num" id="LN2040">2040</td><td class="line"> gtk_widget_unmap (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2041"><td class="num" id="LN2041">2041</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2042"><td class="num" id="LN2042">2042</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2043"><td class="num" id="LN2043">2043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2044"><td class="num" id="LN2044">2044</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2045"><td class="num" id="LN2045">2045</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="2046"><td class="num" id="LN2046">2046</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2047"><td class="num" id="LN2047">2047</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2048"><td class="num" id="LN2048">2048</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2049"><td class="num" id="LN2049">2049</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2050"><td class="num" id="LN2050">2050</td><td class="line">panel_toplevel_update_expanded_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2051"><td class="num" id="LN2051">2051</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2052"><td class="num" id="LN2052">2052</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2053"><td class="num" id="LN2053">2053</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2054"><td class="num" id="LN2054">2054</td><td class="line"> <span class='keyword'>int</span> x_right, y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2055"><td class="num" id="LN2055">2055</td><td class="line"> <span class='keyword'>int</span> monitor;</td></tr>
+<tr class="codeline" data-linenumber="2056"><td class="num" id="LN2056">2056</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2057"><td class="num" id="LN2057">2057</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2058"><td class="num" id="LN2058">2058</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2059"><td class="num" id="LN2059">2059</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2060"><td class="num" id="LN2060">2060</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2061"><td class="num" id="LN2061">2061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2062"><td class="num" id="LN2062">2062</td><td class="line"> x = -1;</td></tr>
+<tr class="codeline" data-linenumber="2063"><td class="num" id="LN2063">2063</td><td class="line"> y = <span class="mrange">-1</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex">Value stored to 'y' is never read</div></td></tr>
+<tr class="codeline" data-linenumber="2064"><td class="num" id="LN2064">2064</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2065"><td class="num" id="LN2065">2065</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2066"><td class="num" id="LN2066">2066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2067"><td class="num" id="LN2067">2067</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2068"><td class="num" id="LN2068">2068</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2069"><td class="num" id="LN2069">2069</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2070"><td class="num" id="LN2070">2070</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2071"><td class="num" id="LN2071">2071</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2072"><td class="num" id="LN2072">2072</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2073"><td class="num" id="LN2073">2073</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2074"><td class="num" id="LN2074">2074</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2075"><td class="num" id="LN2075">2075</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2076"><td class="num" id="LN2076">2076</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2077"><td class="num" id="LN2077">2077</td><td class="line"> x = monitor_geom.x;</td></tr>
+<tr class="codeline" data-linenumber="2078"><td class="num" id="LN2078">2078</td><td class="line"> y = monitor_geom.y + monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2079"><td class="num" id="LN2079">2079</td><td class="line"> y_bottom = 0;</td></tr>
+<tr class="codeline" data-linenumber="2080"><td class="num" id="LN2080">2080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2081"><td class="num" id="LN2081">2081</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2082"><td class="num" id="LN2082">2082</td><td class="line"> x = monitor_geom.x + monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2083"><td class="num" id="LN2083">2083</td><td class="line"> y = monitor_geom.y;</td></tr>
+<tr class="codeline" data-linenumber="2084"><td class="num" id="LN2084">2084</td><td class="line"> x_right = 0;</td></tr>
+<tr class="codeline" data-linenumber="2085"><td class="num" id="LN2085">2085</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2086"><td class="num" id="LN2086">2086</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2087"><td class="num" id="LN2087">2087</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2087, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2088"><td class="num" id="LN2088">2088</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2089"><td class="num" id="LN2089">2089</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2090"><td class="num" id="LN2090">2090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2091"><td class="num" id="LN2091">2091</td><td class="line"> monitor = panel_multimonitor_get_monitor_at_point (x, y);</td></tr>
+<tr class="codeline" data-linenumber="2092"><td class="num" id="LN2092">2092</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2093"><td class="num" id="LN2093">2093</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2094"><td class="num" id="LN2094">2094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2095"><td class="num" id="LN2095">2095</td><td class="line"> x -= panel_multimonitor_x (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2096"><td class="num" id="LN2096">2096</td><td class="line"> y -= panel_multimonitor_y (monitor);</td></tr>
+<tr class="codeline" data-linenumber="2097"><td class="num" id="LN2097">2097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2098"><td class="num" id="LN2098">2098</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2099"><td class="num" id="LN2099">2099</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2100"><td class="num" id="LN2100">2100</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="2101"><td class="num" id="LN2101">2101</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="2102"><td class="num" id="LN2102">2102</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2103"><td class="num" id="LN2103">2103</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2104"><td class="num" id="LN2104">2104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2105"><td class="num" id="LN2105">2105</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="2106"><td class="num" id="LN2106">2106</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="2107"><td class="num" id="LN2107">2107</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2108"><td class="num" id="LN2108">2108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2109"><td class="num" id="LN2109">2109</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2110"><td class="num" id="LN2110">2110</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2111"><td class="num" id="LN2111">2111</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2112"><td class="num" id="LN2112">2112</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x_right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2113"><td class="num" id="LN2113">2113</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2114"><td class="num" id="LN2114">2114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2115"><td class="num" id="LN2115">2115</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2116"><td class="num" id="LN2116">2116</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2117"><td class="num" id="LN2117">2117</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y_bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2118"><td class="num" id="LN2118">2118</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2119"><td class="num" id="LN2119">2119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2120"><td class="num" id="LN2120">2120</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2121"><td class="num" id="LN2121">2121</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2122"><td class="num" id="LN2122">2122</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2123"><td class="num" id="LN2123">2123</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2124"><td class="num" id="LN2124">2124</td><td class="line">panel_toplevel_update_position (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2125"><td class="num" id="LN2125">2125</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2126"><td class="num" id="LN2126">2126</td><td class="line"> PanelBackground *background;</td></tr>
+<tr class="codeline" data-linenumber="2127"><td class="num" id="LN2127">2127</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="2128"><td class="num" id="LN2128">2128</td><td class="line"> <span class='keyword'>int</span> w, h;</td></tr>
+<tr class="codeline" data-linenumber="2129"><td class="num" id="LN2129">2129</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2130"><td class="num" id="LN2130">2130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2131"><td class="num" id="LN2131">2131</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2132"><td class="num" id="LN2132">2132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2133"><td class="num" id="LN2133">2133</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="2134"><td class="num" id="LN2134">2134</td><td class="line"> panel_toplevel_update_animating_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2135"><td class="num" id="LN2135">2135</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2136"><td class="num" id="LN2136">2136</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2137"><td class="num" id="LN2137">2137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2138"><td class="num" id="LN2138">2138</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;position_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2139"><td class="num" id="LN2139">2139</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2140"><td class="num" id="LN2140">2140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2141"><td class="num" id="LN2141">2141</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2142"><td class="num" id="LN2142">2142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2143"><td class="num" id="LN2143">2143</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2144"><td class="num" id="LN2144">2144</td><td class="line"> <span class='keyword'>int</span> x_right;</td></tr>
+<tr class="codeline" data-linenumber="2145"><td class="num" id="LN2145">2145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2146"><td class="num" id="LN2146">2146</td><td class="line"> toplevel-&gt;priv-&gt;x -= toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="2147"><td class="num" id="LN2147">2147</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2148"><td class="num" id="LN2148">2148</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2149"><td class="num" id="LN2149">2149</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width / 2) &gt; monitor_geom.width / 2)</td></tr>
+<tr class="codeline" data-linenumber="2150"><td class="num" id="LN2150">2150</td><td class="line"> x_right = monitor_geom.width - (toplevel-&gt;priv-&gt;x + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2151"><td class="num" id="LN2151">2151</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2152"><td class="num" id="LN2152">2152</td><td class="line"> x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="2153"><td class="num" id="LN2153">2153</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="2154"><td class="num" id="LN2154">2154</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="2155"><td class="num" id="LN2155">2155</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2156"><td class="num" id="LN2156">2156</td><td class="line"> <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2157"><td class="num" id="LN2157">2157</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2158"><td class="num" id="LN2158">2158</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2159"><td class="num" id="LN2159">2159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2160"><td class="num" id="LN2160">2160</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="2161"><td class="num" id="LN2161">2161</td><td class="line"> <span class='keyword'>int</span> y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2162"><td class="num" id="LN2162">2162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2163"><td class="num" id="LN2163">2163</td><td class="line"> toplevel-&gt;priv-&gt;y -= toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="2164"><td class="num" id="LN2164">2164</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2165"><td class="num" id="LN2165">2165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2166"><td class="num" id="LN2166">2166</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height / 2) &gt; monitor_geom.height / 2)</td></tr>
+<tr class="codeline" data-linenumber="2167"><td class="num" id="LN2167">2167</td><td class="line"> y_bottom = monitor_geom.height - (toplevel-&gt;priv-&gt;y + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2168"><td class="num" id="LN2168">2168</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2169"><td class="num" id="LN2169">2169</td><td class="line"> y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="2170"><td class="num" id="LN2170">2170</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="2171"><td class="num" id="LN2171">2171</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="2172"><td class="num" id="LN2172">2172</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2173"><td class="num" id="LN2173">2173</td><td class="line"> <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="2174"><td class="num" id="LN2174">2174</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2175"><td class="num" id="LN2175">2175</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2176"><td class="num" id="LN2176">2176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2177"><td class="num" id="LN2177">2177</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2178"><td class="num" id="LN2178">2178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2179"><td class="num" id="LN2179">2179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2180"><td class="num" id="LN2180">2180</td><td class="line"> panel_toplevel_update_expanded_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2181"><td class="num" id="LN2181">2181</td><td class="line"> panel_toplevel_calc_floating (toplevel); <span class='comment'>/* FIXME should probably be done after panel_toplevel_update_normal_position() too */</span></td></tr>
+<tr class="codeline" data-linenumber="2182"><td class="num" id="LN2182">2182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2183"><td class="num" id="LN2183">2183</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right == -1)</td></tr>
+<tr class="codeline" data-linenumber="2184"><td class="num" id="LN2184">2184</td><td class="line"> x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="2185"><td class="num" id="LN2185">2185</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2186"><td class="num" id="LN2186">2186</td><td class="line"> x = monitor_geom.width - (toplevel-&gt;priv-&gt;x_right + toplevel-&gt;priv-&gt;geometry.width);</td></tr>
+<tr class="codeline" data-linenumber="2187"><td class="num" id="LN2187">2187</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom == -1)</td></tr>
+<tr class="codeline" data-linenumber="2188"><td class="num" id="LN2188">2188</td><td class="line"> y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="2189"><td class="num" id="LN2189">2189</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2190"><td class="num" id="LN2190">2190</td><td class="line"> y = monitor_geom.height - (toplevel-&gt;priv-&gt;y_bottom + toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2191"><td class="num" id="LN2191">2191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2192"><td class="num" id="LN2192">2192</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="2193"><td class="num" id="LN2193">2193</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2194"><td class="num" id="LN2194">2194</td><td class="line"> x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2195"><td class="num" id="LN2195">2195</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2196"><td class="num" id="LN2196">2196</td><td class="line"> y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="2197"><td class="num" id="LN2197">2197</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2198"><td class="num" id="LN2198">2198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2199"><td class="num" id="LN2199">2199</td><td class="line"> w = h = -1;</td></tr>
+<tr class="codeline" data-linenumber="2200"><td class="num" id="LN2200">2200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2201"><td class="num" id="LN2201">2201</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2202"><td class="num" id="LN2202">2202</td><td class="line"> panel_toplevel_update_normal_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2203"><td class="num" id="LN2203">2203</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2204"><td class="num" id="LN2204">2204</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="2205"><td class="num" id="LN2205">2205</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2206"><td class="num" id="LN2206">2206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2207"><td class="num" id="LN2207">2207</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2208"><td class="num" id="LN2208">2208</td><td class="line"> panel_toplevel_update_hidden_position (toplevel, &amp;x, &amp;y, &amp;w, &amp;h);</td></tr>
+<tr class="codeline" data-linenumber="2209"><td class="num" id="LN2209">2209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2210"><td class="num" id="LN2210">2210</td><td class="line"> <span class='keyword'>if</span> (w != -1)</td></tr>
+<tr class="codeline" data-linenumber="2211"><td class="num" id="LN2211">2211</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = w;</td></tr>
+<tr class="codeline" data-linenumber="2212"><td class="num" id="LN2212">2212</td><td class="line"> <span class='keyword'>if</span> (h != -1)</td></tr>
+<tr class="codeline" data-linenumber="2213"><td class="num" id="LN2213">2213</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = h;</td></tr>
+<tr class="codeline" data-linenumber="2214"><td class="num" id="LN2214">2214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2215"><td class="num" id="LN2215">2215</td><td class="line"> <span class='comment'>/* This is some kind of snap: there's a possibility of an infinite loop</span></td></tr>
+<tr class="codeline" data-linenumber="2216"><td class="num" id="LN2216">2216</td><td class="line"> <span class='comment'>* because of the bevels of the frame that are set in</span></td></tr>
+<tr class="codeline" data-linenumber="2217"><td class="num" id="LN2217">2217</td><td class="line"> <span class='comment'>* panel_toplevel_update_edges(). The bevels change the width/height of</span></td></tr>
+<tr class="codeline" data-linenumber="2218"><td class="num" id="LN2218">2218</td><td class="line"> <span class='comment'>* the toplevel. The typical loop is:</span></td></tr>
+<tr class="codeline" data-linenumber="2219"><td class="num" id="LN2219">2219</td><td class="line"> <span class='comment'>* x = 1 =&gt; outer bevel =&gt; x = 0 =&gt; no outer bevel = &gt; x = 1 =&gt; ...</span></td></tr>
+<tr class="codeline" data-linenumber="2220"><td class="num" id="LN2220">2220</td><td class="line"> <span class='comment'>* FIXME: maybe the real bug is that we enter into this loop (see bug</span></td></tr>
+<tr class="codeline" data-linenumber="2221"><td class="num" id="LN2221">2221</td><td class="line"> <span class='comment'>* #160748 to learn how to reproduce.) */</span></td></tr>
+<tr class="codeline" data-linenumber="2222"><td class="num" id="LN2222">2222</td><td class="line"> background = &amp;toplevel-&gt;background;</td></tr>
+<tr class="codeline" data-linenumber="2223"><td class="num" id="LN2223">2223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2224"><td class="num" id="LN2224">2224</td><td class="line"> <span class='comment'>/* There's no bevels with a color/image background */</span></td></tr>
+<tr class="codeline" data-linenumber="2225"><td class="num" id="LN2225">2225</td><td class="line"> <span class='keyword'>if</span> (panel_background_effective_type (background) == PANEL_BACK_NONE) {</td></tr>
+<tr class="codeline" data-linenumber="2226"><td class="num" id="LN2226">2226</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2227"><td class="num" id="LN2227">2227</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2228"><td class="num" id="LN2228">2228</td><td class="line"> GdkRectangle *geometry;</td></tr>
+<tr class="codeline" data-linenumber="2229"><td class="num" id="LN2229">2229</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2230"><td class="num" id="LN2230">2230</td><td class="line"> <span class='keyword'>int</span> max_size;</td></tr>
+<tr class="codeline" data-linenumber="2231"><td class="num" id="LN2231">2231</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2232"><td class="num" id="LN2232">2232</td><td class="line"> state = gtk_widget_get_state_flags (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2233"><td class="num" id="LN2233">2233</td><td class="line"> context = gtk_widget_get_style_context (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2234"><td class="num" id="LN2234">2234</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2235"><td class="num" id="LN2235">2235</td><td class="line"> geometry = &amp;toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="2236"><td class="num" id="LN2236">2236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2237"><td class="num" id="LN2237">2237</td><td class="line"> <span class='keyword'>if</span> (x &lt;= padding.left &amp;&amp; x &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2238"><td class="num" id="LN2238">2238</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2239"><td class="num" id="LN2239">2239</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="2240"><td class="num" id="LN2240">2240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2241"><td class="num" id="LN2241">2241</td><td class="line"> <span class='keyword'>if</span> (y &lt;= padding.top &amp;&amp; y &gt; 0 &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2242"><td class="num" id="LN2242">2242</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2243"><td class="num" id="LN2243">2243</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="2244"><td class="num" id="LN2244">2244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2245"><td class="num" id="LN2245">2245</td><td class="line"> max_size = monitor_geom.width - geometry-&gt;width - padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2246"><td class="num" id="LN2246">2246</td><td class="line"> <span class='keyword'>if</span> (x + padding.left &gt;= max_size &amp;&amp; x &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2247"><td class="num" id="LN2247">2247</td><td class="line"> !toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="2248"><td class="num" id="LN2248">2248</td><td class="line"> x = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2249"><td class="num" id="LN2249">2249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2250"><td class="num" id="LN2250">2250</td><td class="line"> max_size = monitor_geom.height - geometry-&gt;height - padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2251"><td class="num" id="LN2251">2251</td><td class="line"> <span class='keyword'>if</span> (y + padding.top &gt;= max_size &amp;&amp; y &lt; max_size &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2252"><td class="num" id="LN2252">2252</td><td class="line"> !toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="2253"><td class="num" id="LN2253">2253</td><td class="line"> y = max_size;</td></tr>
+<tr class="codeline" data-linenumber="2254"><td class="num" id="LN2254">2254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2255"><td class="num" id="LN2255">2255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2256"><td class="num" id="LN2256">2256</td><td class="line"> x += panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2257"><td class="num" id="LN2257">2257</td><td class="line"> y += panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="2258"><td class="num" id="LN2258">2258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2259"><td class="num" id="LN2259">2259</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = x;</td></tr>
+<tr class="codeline" data-linenumber="2260"><td class="num" id="LN2260">2260</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = y;</td></tr>
+<tr class="codeline" data-linenumber="2261"><td class="num" id="LN2261">2261</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2262"><td class="num" id="LN2262">2262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2263"><td class="num" id="LN2263">2263</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2264"><td class="num" id="LN2264">2264</td><td class="line">calculate_minimum_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="2265"><td class="num" id="LN2265">2265</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="2266"><td class="num" id="LN2266">2266</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2267"><td class="num" id="LN2267">2267</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2268"><td class="num" id="LN2268">2268</td><td class="line"> GtkStyleContext *style_context;</td></tr>
+<tr class="codeline" data-linenumber="2269"><td class="num" id="LN2269">2269</td><td class="line"> PangoFontDescription *font_desc;</td></tr>
+<tr class="codeline" data-linenumber="2270"><td class="num" id="LN2270">2270</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2271"><td class="num" id="LN2271">2271</td><td class="line"> PangoContext *pango_context;</td></tr>
+<tr class="codeline" data-linenumber="2272"><td class="num" id="LN2272">2272</td><td class="line"> PangoFontMetrics *metrics;</td></tr>
+<tr class="codeline" data-linenumber="2273"><td class="num" id="LN2273">2273</td><td class="line"> <span class='keyword'>int</span> ascent;</td></tr>
+<tr class="codeline" data-linenumber="2274"><td class="num" id="LN2274">2274</td><td class="line"> <span class='keyword'>int</span> descent;</td></tr>
+<tr class="codeline" data-linenumber="2275"><td class="num" id="LN2275">2275</td><td class="line"> <span class='keyword'>int</span> thickness;</td></tr>
+<tr class="codeline" data-linenumber="2276"><td class="num" id="LN2276">2276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2277"><td class="num" id="LN2277">2277</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2278"><td class="num" id="LN2278">2278</td><td class="line"> style_context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2279"><td class="num" id="LN2279">2279</td><td class="line"> gtk_style_context_get(style_context, state, <span class='macro'>GTK_STYLE_PROPERTY_FONT<span class='macro_popup'>"font"</span></span>, &amp;font_desc, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2280"><td class="num" id="LN2280">2280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2281"><td class="num" id="LN2281">2281</td><td class="line"> pango_context = gtk_widget_get_pango_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2282"><td class="num" id="LN2282">2282</td><td class="line"> metrics = pango_context_get_metrics (pango_context,</td></tr>
+<tr class="codeline" data-linenumber="2283"><td class="num" id="LN2283">2283</td><td class="line"> font_desc,</td></tr>
+<tr class="codeline" data-linenumber="2284"><td class="num" id="LN2284">2284</td><td class="line"> pango_context_get_language (pango_context));</td></tr>
+<tr class="codeline" data-linenumber="2285"><td class="num" id="LN2285">2285</td><td class="line"> gtk_style_context_get_padding (style_context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2286"><td class="num" id="LN2286">2286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2287"><td class="num" id="LN2287">2287</td><td class="line"> ascent = pango_font_metrics_get_ascent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2288"><td class="num" id="LN2288">2288</td><td class="line"> descent = pango_font_metrics_get_descent (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2289"><td class="num" id="LN2289">2289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2290"><td class="num" id="LN2290">2290</td><td class="line"> pango_font_description_free (font_desc);</td></tr>
+<tr class="codeline" data-linenumber="2291"><td class="num" id="LN2291">2291</td><td class="line"> pango_font_metrics_unref (metrics);</td></tr>
+<tr class="codeline" data-linenumber="2292"><td class="num" id="LN2292">2292</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2293"><td class="num" id="LN2293">2293</td><td class="line"> thickness = (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="2294"><td class="num" id="LN2294">2294</td><td class="line"> padding.top + padding.bottom :</td></tr>
+<tr class="codeline" data-linenumber="2295"><td class="num" id="LN2295">2295</td><td class="line"> padding.left + padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2296"><td class="num" id="LN2296">2296</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2297"><td class="num" id="LN2297">2297</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>PANGO_PIXELS (ascent + descent)<span class='macro_popup'>(((int)(ascent + descent) + 512) &gt;&gt; 10)</span></span> + thickness;</td></tr>
+<tr class="codeline" data-linenumber="2298"><td class="num" id="LN2298">2298</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2299"><td class="num" id="LN2299">2299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2300"><td class="num" id="LN2300">2300</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="2301"><td class="num" id="LN2301">2301</td><td class="line">panel_toplevel_update_size_from_hints (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2302"><td class="num" id="LN2302">2302</td><td class="line"> <span class='keyword'>int</span> requisition_size,</td></tr>
+<tr class="codeline" data-linenumber="2303"><td class="num" id="LN2303">2303</td><td class="line"> <span class='keyword'>int</span> monitor_size,</td></tr>
+<tr class="codeline" data-linenumber="2304"><td class="num" id="LN2304">2304</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size)</td></tr>
+<tr class="codeline" data-linenumber="2305"><td class="num" id="LN2305">2305</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2306"><td class="num" id="LN2306">2306</td><td class="line"> <span class='keyword'>int</span> nb_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2307"><td class="num" id="LN2307">2307</td><td class="line"> AppletSizeHints *applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2308"><td class="num" id="LN2308">2308</td><td class="line"> AppletSizeHintsAlloc *using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2309"><td class="num" id="LN2309">2309</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2310"><td class="num" id="LN2310">2310</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="2311"><td class="num" id="LN2311">2311</td><td class="line"> <span class='keyword'>int</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2312"><td class="num" id="LN2312">2312</td><td class="line"> <span class='keyword'>int</span> full_hints;</td></tr>
+<tr class="codeline" data-linenumber="2313"><td class="num" id="LN2313">2313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2314"><td class="num" id="LN2314">2314</td><td class="line"> <span class='comment'>/* Scale down the size so that the panel only takes what it needs for the applets it has. */</span></td></tr>
+<tr class="codeline" data-linenumber="2315"><td class="num" id="LN2315">2315</td><td class="line"> total_size = non_panel_widget_size + (requisition_size / toplevel-&gt;priv-&gt;scale);</td></tr>
+<tr class="codeline" data-linenumber="2316"><td class="num" id="LN2316">2316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2317"><td class="num" id="LN2317">2317</td><td class="line"> nb_size_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;nb_applets_size_hints;</td></tr>
+<tr class="codeline" data-linenumber="2318"><td class="num" id="LN2318">2318</td><td class="line"> <span class='keyword'>if</span> (nb_size_hints &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="2319"><td class="num" id="LN2319">2319</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2320"><td class="num" id="LN2320">2320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2321"><td class="num" id="LN2321">2321</td><td class="line"> applets_hints = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_hints;</td></tr>
+<tr class="codeline" data-linenumber="2322"><td class="num" id="LN2322">2322</td><td class="line"> using_hint = toplevel-&gt;priv-&gt;panel_widget-&gt;applets_using_hint;</td></tr>
+<tr class="codeline" data-linenumber="2323"><td class="num" id="LN2323">2323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2324"><td class="num" id="LN2324">2324</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2325"><td class="num" id="LN2325">2325</td><td class="line"> using_hint[i].index = applets_hints[i].len - 2;</td></tr>
+<tr class="codeline" data-linenumber="2326"><td class="num" id="LN2326">2326</td><td class="line"> using_hint[i].size = applets_hints[i].hints[applets_hints[i].len - 1];</td></tr>
+<tr class="codeline" data-linenumber="2327"><td class="num" id="LN2327">2327</td><td class="line"> total_size += using_hint[i].size;</td></tr>
+<tr class="codeline" data-linenumber="2328"><td class="num" id="LN2328">2328</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2329"><td class="num" id="LN2329">2329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2330"><td class="num" id="LN2330">2330</td><td class="line"> <span class='keyword'>if</span> (total_size &gt; monitor_size)</td></tr>
+<tr class="codeline" data-linenumber="2331"><td class="num" id="LN2331">2331</td><td class="line"> <span class='keyword'>return</span> monitor_size;</td></tr>
+<tr class="codeline" data-linenumber="2332"><td class="num" id="LN2332">2332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2333"><td class="num" id="LN2333">2333</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2334"><td class="num" id="LN2334">2334</td><td class="line"> <span class='keyword'>while</span> (full_hints != nb_size_hints &amp;&amp; total_size &lt; monitor_size) {</td></tr>
+<tr class="codeline" data-linenumber="2335"><td class="num" id="LN2335">2335</td><td class="line"> <span class='keyword'>int</span> bonus;</td></tr>
+<tr class="codeline" data-linenumber="2336"><td class="num" id="LN2336">2336</td><td class="line"> <span class='keyword'>int</span> extra_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2337"><td class="num" id="LN2337">2337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2338"><td class="num" id="LN2338">2338</td><td class="line"> bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2339"><td class="num" id="LN2339">2339</td><td class="line"> / (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2340"><td class="num" id="LN2340">2340</td><td class="line"> extra_bonus = (monitor_size - total_size)</td></tr>
+<tr class="codeline" data-linenumber="2341"><td class="num" id="LN2341">2341</td><td class="line"> % (nb_size_hints - full_hints);</td></tr>
+<tr class="codeline" data-linenumber="2342"><td class="num" id="LN2342">2342</td><td class="line"> full_hints = 0;</td></tr>
+<tr class="codeline" data-linenumber="2343"><td class="num" id="LN2343">2343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2344"><td class="num" id="LN2344">2344</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; nb_size_hints; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2345"><td class="num" id="LN2345">2345</td><td class="line"> <span class='keyword'>int</span> new_size;</td></tr>
+<tr class="codeline" data-linenumber="2346"><td class="num" id="LN2346">2346</td><td class="line"> <span class='keyword'>int</span> current_bonus;</td></tr>
+<tr class="codeline" data-linenumber="2347"><td class="num" id="LN2347">2347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2348"><td class="num" id="LN2348">2348</td><td class="line"> current_bonus = bonus;</td></tr>
+<tr class="codeline" data-linenumber="2349"><td class="num" id="LN2349">2349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2350"><td class="num" id="LN2350">2350</td><td class="line"> <span class='keyword'>while</span> (using_hint[i].index &gt; 0 &amp;&amp; applets_hints[i].hints[using_hint[i].index - 1] &lt; using_hint[i].size + current_bonus) {</td></tr>
+<tr class="codeline" data-linenumber="2351"><td class="num" id="LN2351">2351</td><td class="line"> new_size = applets_hints[i].hints[using_hint[i].index - 1];</td></tr>
+<tr class="codeline" data-linenumber="2352"><td class="num" id="LN2352">2352</td><td class="line"> current_bonus = using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2353"><td class="num" id="LN2353">2353</td><td class="line"> + current_bonus - new_size;</td></tr>
+<tr class="codeline" data-linenumber="2354"><td class="num" id="LN2354">2354</td><td class="line"> total_size = total_size - using_hint[i].size</td></tr>
+<tr class="codeline" data-linenumber="2355"><td class="num" id="LN2355">2355</td><td class="line"> + new_size;</td></tr>
+<tr class="codeline" data-linenumber="2356"><td class="num" id="LN2356">2356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2357"><td class="num" id="LN2357">2357</td><td class="line"> using_hint[i].index -= 2;</td></tr>
+<tr class="codeline" data-linenumber="2358"><td class="num" id="LN2358">2358</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2359"><td class="num" id="LN2359">2359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2360"><td class="num" id="LN2360">2360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2361"><td class="num" id="LN2361">2361</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2362"><td class="num" id="LN2362">2362</td><td class="line"> <span class='macro'>using_hint[i].size + current_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + current_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + current_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2363"><td class="num" id="LN2363">2363</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2364"><td class="num" id="LN2364">2364</td><td class="line"> total_size += (new_size - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2365"><td class="num" id="LN2365">2365</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2366"><td class="num" id="LN2366">2366</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2367"><td class="num" id="LN2367">2367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2368"><td class="num" id="LN2368">2368</td><td class="line"> <span class='keyword'>if</span> (extra_bonus &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="2369"><td class="num" id="LN2369">2369</td><td class="line"> new_size = <span class='macro'>MIN (applets_hints[i].hints[using_hint[i].index],<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2370"><td class="num" id="LN2370">2370</td><td class="line"> <span class='macro'>using_hint[i].size + extra_bonus)<span class='macro_popup'>(((applets_hints[i].hints[using_hint[i].index]) &lt; (using_hint<br>[i].size + extra_bonus)) ? (applets_hints[i].hints[using_hint<br>[i].index]) : (using_hint[i].size + extra_bonus))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2371"><td class="num" id="LN2371">2371</td><td class="line"> <span class='keyword'>if</span> (new_size &gt; using_hint[i].size) {</td></tr>
+<tr class="codeline" data-linenumber="2372"><td class="num" id="LN2372">2372</td><td class="line"> total_size += (new_size</td></tr>
+<tr class="codeline" data-linenumber="2373"><td class="num" id="LN2373">2373</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2374"><td class="num" id="LN2374">2374</td><td class="line"> extra_bonus -= (new_size</td></tr>
+<tr class="codeline" data-linenumber="2375"><td class="num" id="LN2375">2375</td><td class="line"> - using_hint[i].size);</td></tr>
+<tr class="codeline" data-linenumber="2376"><td class="num" id="LN2376">2376</td><td class="line"> using_hint[i].size = new_size;</td></tr>
+<tr class="codeline" data-linenumber="2377"><td class="num" id="LN2377">2377</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2378"><td class="num" id="LN2378">2378</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2379"><td class="num" id="LN2379">2379</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2380"><td class="num" id="LN2380">2380</td><td class="line"> <span class='keyword'>if</span> (using_hint[i].size == applets_hints[i].hints[using_hint[i].index])</td></tr>
+<tr class="codeline" data-linenumber="2381"><td class="num" id="LN2381">2381</td><td class="line"> full_hints++;</td></tr>
+<tr class="codeline" data-linenumber="2382"><td class="num" id="LN2382">2382</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2383"><td class="num" id="LN2383">2383</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2384"><td class="num" id="LN2384">2384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2385"><td class="num" id="LN2385">2385</td><td class="line"> <span class='keyword'>return</span> total_size;</td></tr>
+<tr class="codeline" data-linenumber="2386"><td class="num" id="LN2386">2386</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2387"><td class="num" id="LN2387">2387</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2388"><td class="num" id="LN2388">2388</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2389"><td class="num" id="LN2389">2389</td><td class="line">panel_toplevel_update_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2390"><td class="num" id="LN2390">2390</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2391"><td class="num" id="LN2391">2391</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2392"><td class="num" id="LN2392">2392</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2393"><td class="num" id="LN2393">2393</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2394"><td class="num" id="LN2394">2394</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2395"><td class="num" id="LN2395">2395</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="2396"><td class="num" id="LN2396">2396</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="2397"><td class="num" id="LN2397">2397</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="2398"><td class="num" id="LN2398">2398</td><td class="line"> <span class='keyword'>int</span> minimum_height;</td></tr>
+<tr class="codeline" data-linenumber="2399"><td class="num" id="LN2399">2399</td><td class="line"> <span class='keyword'>int</span> non_panel_widget_size;</td></tr>
+<tr class="codeline" data-linenumber="2400"><td class="num" id="LN2400">2400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2401"><td class="num" id="LN2401">2401</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="2402"><td class="num" id="LN2402">2402</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2403"><td class="num" id="LN2403">2403</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2404"><td class="num" id="LN2404">2404</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2405"><td class="num" id="LN2405">2405</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2406"><td class="num" id="LN2406">2406</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="2407"><td class="num" id="LN2407">2407</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="2408"><td class="num" id="LN2408">2408</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2409"><td class="num" id="LN2409">2409</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="2410"><td class="num" id="LN2410">2410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2411"><td class="num" id="LN2411">2411</td><td class="line"> width = requisition-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="2412"><td class="num" id="LN2412">2412</td><td class="line"> height = requisition-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="2413"><td class="num" id="LN2413">2413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2414"><td class="num" id="LN2414">2414</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="2415"><td class="num" id="LN2415">2415</td><td class="line"> !toplevel-&gt;priv-&gt;buttons_enabled &amp;&amp; !toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2416"><td class="num" id="LN2416">2416</td><td class="line"> non_panel_widget_size = 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2417"><td class="num" id="LN2417">2417</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2418"><td class="num" id="LN2418">2418</td><td class="line"> non_panel_widget_size = 0;</td></tr>
+<tr class="codeline" data-linenumber="2419"><td class="num" id="LN2419">2419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2420"><td class="num" id="LN2420">2420</td><td class="line"> minimum_height = calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2421"><td class="num" id="LN2421">2421</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="2422"><td class="num" id="LN2422">2422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2423"><td class="num" id="LN2423">2423</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2424"><td class="num" id="LN2424">2424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2425"><td class="num" id="LN2425">2425</td><td class="line"> height = <span class='macro'>MAX (MIN (MAX (height, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2426"><td class="num" id="LN2426">2426</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2427"><td class="num" id="LN2427">2427</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height<br>) : (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((height) &gt; (toplevel-&gt;priv-&gt;size)<br>) ? (height) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((height) &gt; (<br>toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel-&gt;priv-&gt;<br>size))) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? (<br>(((height) &gt; (toplevel-&gt;priv-&gt;size)) ? (height) : (toplevel<br>-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2428"><td class="num" id="LN2428">2428</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2429"><td class="num" id="LN2429">2429</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2430"><td class="num" id="LN2430">2430</td><td class="line"> width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2431"><td class="num" id="LN2431">2431</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2432"><td class="num" id="LN2432">2432</td><td class="line"> <span class='keyword'>int</span> max_width;</td></tr>
+<tr class="codeline" data-linenumber="2433"><td class="num" id="LN2433">2433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2434"><td class="num" id="LN2434">2434</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2435"><td class="num" id="LN2435">2435</td><td class="line"> max_width = monitor_geom.width;</td></tr>
+<tr class="codeline" data-linenumber="2436"><td class="num" id="LN2436">2436</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2437"><td class="num" id="LN2437">2437</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2438"><td class="num" id="LN2438">2438</td><td class="line"> max_width = monitor_geom.width</td></tr>
+<tr class="codeline" data-linenumber="2439"><td class="num" id="LN2439">2439</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.x;</td></tr>
+<tr class="codeline" data-linenumber="2440"><td class="num" id="LN2440">2440</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2441"><td class="num" id="LN2441">2441</td><td class="line"> max_width = toplevel-&gt;priv-&gt;geometry.x +</td></tr>
+<tr class="codeline" data-linenumber="2442"><td class="num" id="LN2442">2442</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2443"><td class="num" id="LN2443">2443</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2444"><td class="num" id="LN2444">2444</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2445"><td class="num" id="LN2445">2445</td><td class="line"> width = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2446"><td class="num" id="LN2446">2446</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2447"><td class="num" id="LN2447">2447</td><td class="line"> requisition-&gt;width,</td></tr>
+<tr class="codeline" data-linenumber="2448"><td class="num" id="LN2448">2448</td><td class="line"> max_width,</td></tr>
+<tr class="codeline" data-linenumber="2449"><td class="num" id="LN2449">2449</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2450"><td class="num" id="LN2450">2450</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2451"><td class="num" id="LN2451">2451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2452"><td class="num" id="LN2452">2452</td><td class="line"> width = <span class='macro'>MAX (MINIMUM_WIDTH, width)<span class='macro_popup'>(((100) &gt; (width)) ? (100) : (width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2453"><td class="num" id="LN2453">2453</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2454"><td class="num" id="LN2454">2454</td><td class="line"> width = <span class='macro'>MAX (MIN (MAX (width, toplevel-&gt;priv-&gt;size),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2455"><td class="num" id="LN2455">2455</td><td class="line"> <span class='macro'>panel_toplevel_get_maximum_size (toplevel)),<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span></td></tr>
+<tr class="codeline" data-linenumber="2456"><td class="num" id="LN2456">2456</td><td class="line"> <span class='macro'>minimum_height)<span class='macro_popup'>(((((((((width) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) :<br> (toplevel-&gt;priv-&gt;size))) &lt; (panel_toplevel_get_maximum_size<br> (toplevel))) ? ((((width) &gt; (toplevel-&gt;priv-&gt;size))<br> ? (width) : (toplevel-&gt;priv-&gt;size))) : (panel_toplevel_get_maximum_size<br> (toplevel)))) &gt; (minimum_height)) ? (((((((width) &gt; (toplevel<br>-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;priv-&gt;size)<br>)) &lt; (panel_toplevel_get_maximum_size (toplevel))) ? ((((width<br>) &gt; (toplevel-&gt;priv-&gt;size)) ? (width) : (toplevel-&gt;<br>priv-&gt;size))) : (panel_toplevel_get_maximum_size (toplevel<br>)))) : (minimum_height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2457"><td class="num" id="LN2457">2457</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2458"><td class="num" id="LN2458">2458</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand)</td></tr>
+<tr class="codeline" data-linenumber="2459"><td class="num" id="LN2459">2459</td><td class="line"> height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2460"><td class="num" id="LN2460">2460</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2461"><td class="num" id="LN2461">2461</td><td class="line"> <span class='keyword'>int</span> max_height;</td></tr>
+<tr class="codeline" data-linenumber="2462"><td class="num" id="LN2462">2462</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2463"><td class="num" id="LN2463">2463</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2464"><td class="num" id="LN2464">2464</td><td class="line"> max_height = monitor_geom.height;</td></tr>
+<tr class="codeline" data-linenumber="2465"><td class="num" id="LN2465">2465</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2466"><td class="num" id="LN2466">2466</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel) == PANEL_ORIENTATION_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2467"><td class="num" id="LN2467">2467</td><td class="line"> max_height = monitor_geom.height</td></tr>
+<tr class="codeline" data-linenumber="2468"><td class="num" id="LN2468">2468</td><td class="line"> - toplevel-&gt;priv-&gt;geometry.y;</td></tr>
+<tr class="codeline" data-linenumber="2469"><td class="num" id="LN2469">2469</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2470"><td class="num" id="LN2470">2470</td><td class="line"> max_height = toplevel-&gt;priv-&gt;geometry.y +</td></tr>
+<tr class="codeline" data-linenumber="2471"><td class="num" id="LN2471">2471</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2472"><td class="num" id="LN2472">2472</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2473"><td class="num" id="LN2473">2473</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2474"><td class="num" id="LN2474">2474</td><td class="line"> height = panel_toplevel_update_size_from_hints (</td></tr>
+<tr class="codeline" data-linenumber="2475"><td class="num" id="LN2475">2475</td><td class="line"> toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2476"><td class="num" id="LN2476">2476</td><td class="line"> requisition-&gt;height,</td></tr>
+<tr class="codeline" data-linenumber="2477"><td class="num" id="LN2477">2477</td><td class="line"> max_height,</td></tr>
+<tr class="codeline" data-linenumber="2478"><td class="num" id="LN2478">2478</td><td class="line"> non_panel_widget_size);</td></tr>
+<tr class="codeline" data-linenumber="2479"><td class="num" id="LN2479">2479</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2480"><td class="num" id="LN2480">2480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2481"><td class="num" id="LN2481">2481</td><td class="line"> height = <span class='macro'>MAX (MINIMUM_WIDTH, height)<span class='macro_popup'>(((100) &gt; (height)) ? (100) : (height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2482"><td class="num" id="LN2482">2482</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2483"><td class="num" id="LN2483">2483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2484"><td class="num" id="LN2484">2484</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="2485"><td class="num" id="LN2485">2485</td><td class="line"> height += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="2486"><td class="num" id="LN2486">2486</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="2487"><td class="num" id="LN2487">2487</td><td class="line"> height += padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="2488"><td class="num" id="LN2488">2488</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="2489"><td class="num" id="LN2489">2489</td><td class="line"> width += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="2490"><td class="num" id="LN2490">2490</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="2491"><td class="num" id="LN2491">2491</td><td class="line"> width += padding.right;</td></tr>
+<tr class="codeline" data-linenumber="2492"><td class="num" id="LN2492">2492</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2493"><td class="num" id="LN2493">2493</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = <span class='macro'>CLAMP (width, 0, monitor_geom.width)<span class='macro_popup'>(((width) &gt; (monitor_geom.width)) ? (monitor_geom.width) :<br> (((width) &lt; (0)) ? (0) : (width)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2494"><td class="num" id="LN2494">2494</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = <span class='macro'>CLAMP (height, 0, monitor_geom.height)<span class='macro_popup'>(((height) &gt; (monitor_geom.height)) ? (monitor_geom.height<br>) : (((height) &lt; (0)) ? (0) : (height)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2495"><td class="num" id="LN2495">2495</td><td class="line"> toplevel-&gt;priv-&gt;original_width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="2496"><td class="num" id="LN2496">2496</td><td class="line"> toplevel-&gt;priv-&gt;original_height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="2497"><td class="num" id="LN2497">2497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2498"><td class="num" id="LN2498">2498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2499"><td class="num" id="LN2499">2499</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2500"><td class="num" id="LN2500">2500</td><td class="line">panel_toplevel_update_geometry (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2501"><td class="num" id="LN2501">2501</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="2502"><td class="num" id="LN2502">2502</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2503"><td class="num" id="LN2503">2503</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2504"><td class="num" id="LN2504">2504</td><td class="line"> panel_toplevel_update_size (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="2505"><td class="num" id="LN2505">2505</td><td class="line"> panel_toplevel_update_position (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2506"><td class="num" id="LN2506">2506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2507"><td class="num" id="LN2507">2507</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2508"><td class="num" id="LN2508">2508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2509"><td class="num" id="LN2509">2509</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2510"><td class="num" id="LN2510">2510</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2511"><td class="num" id="LN2511">2511</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="2512"><td class="num" id="LN2512">2512</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="2513"><td class="num" id="LN2513">2513</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2514"><td class="num" id="LN2514">2514</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2515"><td class="num" id="LN2515">2515</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2516"><td class="num" id="LN2516">2516</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2517"><td class="num" id="LN2517">2517</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2518"><td class="num" id="LN2518">2518</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2519"><td class="num" id="LN2519">2519</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2520"><td class="num" id="LN2520">2520</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2521"><td class="num" id="LN2521">2521</td><td class="line"> &amp;toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2522"><td class="num" id="LN2522">2522</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2523"><td class="num" id="LN2523">2523</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2524"><td class="num" id="LN2524">2524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2525"><td class="num" id="LN2525">2525</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="2526"><td class="num" id="LN2526">2526</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2527"><td class="num" id="LN2527">2527</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2528"><td class="num" id="LN2528">2528</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2529"><td class="num" id="LN2529">2529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2530"><td class="num" id="LN2530">2530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2531"><td class="num" id="LN2531">2531</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2532"><td class="num" id="LN2532">2532</td><td class="line">panel_toplevel_attach_widget_destroyed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2533"><td class="num" id="LN2533">2533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2534"><td class="num" id="LN2534">2534</td><td class="line"> panel_toplevel_detach (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2535"><td class="num" id="LN2535">2535</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2536"><td class="num" id="LN2536">2536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2537"><td class="num" id="LN2537">2537</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2538"><td class="num" id="LN2538">2538</td><td class="line">panel_toplevel_attach_widget_configure (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2539"><td class="num" id="LN2539">2539</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2540"><td class="num" id="LN2540">2540</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2541"><td class="num" id="LN2541">2541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2542"><td class="num" id="LN2542">2542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2543"><td class="num" id="LN2543">2543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2544"><td class="num" id="LN2544">2544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2545"><td class="num" id="LN2545">2545</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2546"><td class="num" id="LN2546">2546</td><td class="line">panel_toplevel_update_attach_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2547"><td class="num" id="LN2547">2547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2548"><td class="num" id="LN2548">2548</td><td class="line"> PanelOrientation attach_orientation;</td></tr>
+<tr class="codeline" data-linenumber="2549"><td class="num" id="LN2549">2549</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="2550"><td class="num" id="LN2550">2550</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2551"><td class="num" id="LN2551">2551</td><td class="line"> attach_orientation =</td></tr>
+<tr class="codeline" data-linenumber="2552"><td class="num" id="LN2552">2552</td><td class="line"> panel_toplevel_get_orientation (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2553"><td class="num" id="LN2553">2553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2554"><td class="num" id="LN2554">2554</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="2555"><td class="num" id="LN2555">2555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2556"><td class="num" id="LN2556">2556</td><td class="line"> <span class='keyword'>switch</span> (attach_orientation) {</td></tr>
+<tr class="codeline" data-linenumber="2557"><td class="num" id="LN2557">2557</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="2558"><td class="num" id="LN2558">2558</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2559"><td class="num" id="LN2559">2559</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2560"><td class="num" id="LN2560">2560</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="2561"><td class="num" id="LN2561">2561</td><td class="line"> orientation = PANEL_ORIENTATION_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2562"><td class="num" id="LN2562">2562</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2563"><td class="num" id="LN2563">2563</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2564"><td class="num" id="LN2564">2564</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="2565"><td class="num" id="LN2565">2565</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2566"><td class="num" id="LN2566">2566</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2567"><td class="num" id="LN2567">2567</td><td class="line"> orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="2568"><td class="num" id="LN2568">2568</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2569"><td class="num" id="LN2569">2569</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2570"><td class="num" id="LN2570">2570</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2570, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2571"><td class="num" id="LN2571">2571</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2572"><td class="num" id="LN2572">2572</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2573"><td class="num" id="LN2573">2573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2574"><td class="num" id="LN2574">2574</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="2575"><td class="num" id="LN2575">2575</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2576"><td class="num" id="LN2576">2576</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2577"><td class="num" id="LN2577">2577</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2578"><td class="num" id="LN2578">2578</td><td class="line">panel_toplevel_attach_widget_parent_set (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2579"><td class="num" id="LN2579">2579</td><td class="line"> GtkWidget *previous_parent,</td></tr>
+<tr class="codeline" data-linenumber="2580"><td class="num" id="LN2580">2580</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2581"><td class="num" id="LN2581">2581</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2582"><td class="num" id="LN2582">2582</td><td class="line"> GtkWidget *panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="2583"><td class="num" id="LN2583">2583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2584"><td class="num" id="LN2584">2584</td><td class="line"> panel_widget = gtk_widget_get_parent (<span class='macro'>GTK_WIDGET (attach_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_widget)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2585"><td class="num" id="LN2585">2585</td><td class="line"> <span class='keyword'>if</span> (!panel_widget)</td></tr>
+<tr class="codeline" data-linenumber="2586"><td class="num" id="LN2586">2586</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2587"><td class="num" id="LN2587">2587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2588"><td class="num" id="LN2588">2588</td><td class="line"> <span class='macro'>g_assert (PANEL_IS_WIDGET (panel_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((panel_widget)); GType __t = ((panel_widget_get_type()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>))))) ; else g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2588, ((const char*) (__func__)), "PANEL_IS_WIDGET (panel_widget)"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2589"><td class="num" id="LN2589">2589</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2590"><td class="num" id="LN2590">2590</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>PANEL_WIDGET (panel_widget)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((panel_widget)), ((panel_widget_get_type()))))))</span></span>-&gt;toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2591"><td class="num" id="LN2591">2591</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2592"><td class="num" id="LN2592">2592</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2593"><td class="num" id="LN2593">2593</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2594"><td class="num" id="LN2594">2594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2595"><td class="num" id="LN2595">2595</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2596"><td class="num" id="LN2596">2596</td><td class="line">panel_toplevel_attach_toplevel_hiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2597"><td class="num" id="LN2597">2597</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2598"><td class="num" id="LN2598">2598</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_get_is_hidden (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="2599"><td class="num" id="LN2599">2599</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="2600"><td class="num" id="LN2600">2600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2601"><td class="num" id="LN2601">2601</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2602"><td class="num" id="LN2602">2602</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2603"><td class="num" id="LN2603">2603</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2604"><td class="num" id="LN2604">2604</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2605"><td class="num" id="LN2605">2605</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2606"><td class="num" id="LN2606">2606</td><td class="line">panel_toplevel_attach_toplevel_unhiding (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2607"><td class="num" id="LN2607">2607</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2608"><td class="num" id="LN2608">2608</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attach_hidden)</td></tr>
+<tr class="codeline" data-linenumber="2609"><td class="num" id="LN2609">2609</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2610"><td class="num" id="LN2610">2610</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2611"><td class="num" id="LN2611">2611</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2612"><td class="num" id="LN2612">2612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2613"><td class="num" id="LN2613">2613</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2614"><td class="num" id="LN2614">2614</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2615"><td class="num" id="LN2615">2615</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2616"><td class="num" id="LN2616">2616</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2617"><td class="num" id="LN2617">2617</td><td class="line">panel_toplevel_reverse_arrow (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2618"><td class="num" id="LN2618">2618</td><td class="line"> GtkWidget *button)</td></tr>
+<tr class="codeline" data-linenumber="2619"><td class="num" id="LN2619">2619</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2620"><td class="num" id="LN2620">2620</td><td class="line"> GtkArrowType arrow_type;</td></tr>
+<tr class="codeline" data-linenumber="2621"><td class="num" id="LN2621">2621</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2622"><td class="num" id="LN2622">2622</td><td class="line"> arrow_type = <span class='macro'>GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), <span class='string_literal'>"arrow-type"</span>))<span class='macro_popup'>((gint) (glong) (g_object_get_data (((((GObject*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), (((GType) ((20) &lt;&lt; (2)))<br>))))), "arrow-type")))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2623"><td class="num" id="LN2623">2623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2624"><td class="num" id="LN2624">2624</td><td class="line"> <span class='keyword'>switch</span> (arrow_type) {</td></tr>
+<tr class="codeline" data-linenumber="2625"><td class="num" id="LN2625">2625</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_UP:</td></tr>
+<tr class="codeline" data-linenumber="2626"><td class="num" id="LN2626">2626</td><td class="line"> arrow_type = GTK_ARROW_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="2627"><td class="num" id="LN2627">2627</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2628"><td class="num" id="LN2628">2628</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="2629"><td class="num" id="LN2629">2629</td><td class="line"> arrow_type = GTK_ARROW_UP;</td></tr>
+<tr class="codeline" data-linenumber="2630"><td class="num" id="LN2630">2630</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2631"><td class="num" id="LN2631">2631</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="2632"><td class="num" id="LN2632">2632</td><td class="line"> arrow_type = GTK_ARROW_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="2633"><td class="num" id="LN2633">2633</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2634"><td class="num" id="LN2634">2634</td><td class="line"> <span class='keyword'>case</span> GTK_ARROW_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="2635"><td class="num" id="LN2635">2635</td><td class="line"> arrow_type = GTK_ARROW_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="2636"><td class="num" id="LN2636">2636</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2637"><td class="num" id="LN2637">2637</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="2638"><td class="num" id="LN2638">2638</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 2638, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2639"><td class="num" id="LN2639">2639</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="2640"><td class="num" id="LN2640">2640</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2641"><td class="num" id="LN2641">2641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2642"><td class="num" id="LN2642">2642</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (button)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrow-type"</span>, <span class='macro'>GINT_TO_POINTER (arrow_type)<span class='macro_popup'>((gpointer) (glong) (arrow_type))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2643"><td class="num" id="LN2643">2643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2644"><td class="num" id="LN2644">2644</td><td class="line"> set_arrow_type (<span class='macro'>GTK_IMAGE (gtk_bin_get_child (GTK_BIN (button)))<span class='macro_popup'>((((GtkImage*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_bin_get_child (((((GtkBin*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((button)), ((gtk_bin_get_type ())))))))))<br>, ((gtk_image_get_type ()))))))</span></span>, arrow_type);</td></tr>
+<tr class="codeline" data-linenumber="2645"><td class="num" id="LN2645">2645</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2646"><td class="num" id="LN2646">2646</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2647"><td class="num" id="LN2647">2647</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2648"><td class="num" id="LN2648">2648</td><td class="line">panel_toplevel_reverse_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2649"><td class="num" id="LN2649">2649</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2650"><td class="num" id="LN2650">2650</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="2651"><td class="num" id="LN2651">2651</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="2652"><td class="num" id="LN2652">2652</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="2653"><td class="num" id="LN2653">2653</td><td class="line"> panel_toplevel_reverse_arrow (toplevel, toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="2654"><td class="num" id="LN2654">2654</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2655"><td class="num" id="LN2655">2655</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2656"><td class="num" id="LN2656">2656</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2657"><td class="num" id="LN2657">2657</td><td class="line">panel_toplevel_disconnect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2658"><td class="num" id="LN2658">2658</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2659"><td class="num" id="LN2659">2659</td><td class="line"> guint i;</td></tr>
+<tr class="codeline" data-linenumber="2660"><td class="num" id="LN2660">2660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2661"><td class="num" id="LN2661">2661</td><td class="line"><span class='directive'>#if <span class='macro'>GLIB_CHECK_VERSION(2,62,0)<span class='macro_popup'>(2 &gt; (2) || (2 == (2) &amp;&amp; 78 &gt; (62)) || (2 == (2<br>) &amp;&amp; 78 == (62) &amp;&amp; 3 &gt;= (0)))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="2662"><td class="num" id="LN2662">2662</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2663"><td class="num" id="LN2663">2663</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_toplevel_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2664"><td class="num" id="LN2664">2664</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_toplevel<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_toplevel_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2665"><td class="num" id="LN2665">2665</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2666"><td class="num" id="LN2666">2666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2667"><td class="num" id="LN2667">2667</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2668"><td class="num" id="LN2668">2668</td><td class="line"> <span class='macro'>g_clear_signal_handler (&amp;toplevel-&gt;priv-&gt;attach_widget_signals [i],<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2669"><td class="num" id="LN2669">2669</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget)<span class='macro_popup'>do { gpointer const _instance = (toplevel-&gt;priv-&gt;attach_widget<br>); gulong *const _handler_id_ptr = (&amp;toplevel-&gt;priv-&gt;<br>attach_widget_signals [i]); const gulong _handler_id = *_handler_id_ptr<br>; if (_handler_id &gt; 0) { *_handler_id_ptr = 0; g_signal_handler_disconnect<br> (_instance, _handler_id); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2670"><td class="num" id="LN2670">2670</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2671"><td class="num" id="LN2671">2671</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="2672"><td class="num" id="LN2672">2672</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2673"><td class="num" id="LN2673">2673</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2674"><td class="num" id="LN2674">2674</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2675"><td class="num" id="LN2675">2675</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2676"><td class="num" id="LN2676">2676</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2677"><td class="num" id="LN2677">2677</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2678"><td class="num" id="LN2678">2678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2679"><td class="num" id="LN2679">2679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2680"><td class="num" id="LN2680">2680</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="2681"><td class="num" id="LN2681">2681</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_widget_signals [i] != 0) {</td></tr>
+<tr class="codeline" data-linenumber="2682"><td class="num" id="LN2682">2682</td><td class="line"> g_signal_handler_disconnect (toplevel-&gt;priv-&gt;attach_widget,</td></tr>
+<tr class="codeline" data-linenumber="2683"><td class="num" id="LN2683">2683</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i]);</td></tr>
+<tr class="codeline" data-linenumber="2684"><td class="num" id="LN2684">2684</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="2685"><td class="num" id="LN2685">2685</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2686"><td class="num" id="LN2686">2686</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2687"><td class="num" id="LN2687">2687</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="2688"><td class="num" id="LN2688">2688</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2689"><td class="num" id="LN2689">2689</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2690"><td class="num" id="LN2690">2690</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2691"><td class="num" id="LN2691">2691</td><td class="line">panel_toplevel_connect_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2692"><td class="num" id="LN2692">2692</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2693"><td class="num" id="LN2693">2693</td><td class="line"> gulong *signals;</td></tr>
+<tr class="codeline" data-linenumber="2694"><td class="num" id="LN2694">2694</td><td class="line"> <span class='keyword'>int</span> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2695"><td class="num" id="LN2695">2695</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2696"><td class="num" id="LN2696">2696</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_toplevel_signals;</td></tr>
+<tr class="codeline" data-linenumber="2697"><td class="num" id="LN2697">2697</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2698"><td class="num" id="LN2698">2698</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2699"><td class="num" id="LN2699">2699</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2700"><td class="num" id="LN2700">2700</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2701"><td class="num" id="LN2701">2701</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2702"><td class="num" id="LN2702">2702</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"notify::orientation"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2703"><td class="num" id="LN2703">2703</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_update_attach_orientation), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("notify::orientation"), (((GCallback) (panel_toplevel_update_attach_orientation<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2704"><td class="num" id="LN2704">2704</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2705"><td class="num" id="LN2705">2705</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2706"><td class="num" id="LN2706">2706</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2707"><td class="num" id="LN2707">2707</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2708"><td class="num" id="LN2708">2708</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"hiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2709"><td class="num" id="LN2709">2709</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_hiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("hiding"), (((GCallback) (panel_toplevel_attach_toplevel_hiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2710"><td class="num" id="LN2710">2710</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2711"><td class="num" id="LN2711">2711</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_toplevel, <span class='string_literal'>"unhiding"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2712"><td class="num" id="LN2712">2712</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_toplevel_unhiding), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_toplevel<br>), ("unhiding"), (((GCallback) (panel_toplevel_attach_toplevel_unhiding<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2713"><td class="num" id="LN2713">2713</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2714"><td class="num" id="LN2714">2714</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_TOPLEVEL_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2714, ((const char*) (__func__)), "i == N_ATTACH_TOPLEVEL_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2715"><td class="num" id="LN2715">2715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2716"><td class="num" id="LN2716">2716</td><td class="line"> signals = toplevel-&gt;priv-&gt;attach_widget_signals;</td></tr>
+<tr class="codeline" data-linenumber="2717"><td class="num" id="LN2717">2717</td><td class="line"> i = 0;</td></tr>
+<tr class="codeline" data-linenumber="2718"><td class="num" id="LN2718">2718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2719"><td class="num" id="LN2719">2719</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2720"><td class="num" id="LN2720">2720</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"destroy"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2721"><td class="num" id="LN2721">2721</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("destroy"), (((GCallback) (panel_toplevel_attach_widget_destroyed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2722"><td class="num" id="LN2722">2722</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2723"><td class="num" id="LN2723">2723</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"configure-event"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2724"><td class="num" id="LN2724">2724</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("configure-event"), (((GCallback) (panel_toplevel_attach_widget_configure<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2725"><td class="num" id="LN2725">2725</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2726"><td class="num" id="LN2726">2726</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"parent-set"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2727"><td class="num" id="LN2727">2727</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_attach_widget_parent_set), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("parent-set"), (((GCallback) (panel_toplevel_attach_widget_parent_set<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2728"><td class="num" id="LN2728">2728</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2729"><td class="num" id="LN2729">2729</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"show"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2730"><td class="num" id="LN2730">2730</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_show), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("show"), (((GCallback) (gtk_widget_show))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2731"><td class="num" id="LN2731">2731</td><td class="line"> signals [i++] = <span class='macro'>g_signal_connect_swapped (<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2732"><td class="num" id="LN2732">2732</td><td class="line"> <span class='macro'>toplevel-&gt;priv-&gt;attach_widget, <span class='string_literal'>"hide"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="2733"><td class="num" id="LN2733">2733</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_hide), toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;attach_widget),<br> ("hide"), (((GCallback) (gtk_widget_hide))), (toplevel), ((void<br>*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2734"><td class="num" id="LN2734">2734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2735"><td class="num" id="LN2735">2735</td><td class="line"> <span class='macro'>g_assert (i == N_ATTACH_WIDGET_SIGNALS)<span class='macro_popup'>do { if (i == 5) ; else g_assertion_message_expr (((gchar*) 0<br>), "panel-toplevel.c", 2735, ((const char*) (__func__)), "i == N_ATTACH_WIDGET_SIGNALS"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2736"><td class="num" id="LN2736">2736</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2737"><td class="num" id="LN2737">2737</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2738"><td class="num" id="LN2738">2738</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2739"><td class="num" id="LN2739">2739</td><td class="line">panel_toplevel_attach_to_widget (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2740"><td class="num" id="LN2740">2740</td><td class="line"> PanelToplevel *attach_toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2741"><td class="num" id="LN2741">2741</td><td class="line"> GtkWidget *attach_widget)</td></tr>
+<tr class="codeline" data-linenumber="2742"><td class="num" id="LN2742">2742</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2743"><td class="num" id="LN2743">2743</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2744"><td class="num" id="LN2744">2744</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (attach_toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_toplevel)); GType __t = ((panel_toplevel_get_type<br> ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; })))))) { } else { g_return_if_fail_warning (((gchar*) 0<br>), ((const char*) (__func__)), "PANEL_IS_TOPLEVEL (attach_toplevel)"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2745"><td class="num" id="LN2745">2745</td><td class="line"> <span class='macro'>g_return_if_fail (GTK_IS_WIDGET (attach_widget))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((attach_widget)); GType __t = ((gtk_widget_get_type ()));<br> gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class<br> &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)<br>); else __r = g_type_check_instance_is_a (__inst, __t); __r; }<br>)))))) { } else { g_return_if_fail_warning (((gchar*) 0), ((const<br> char*) (__func__)), "GTK_IS_WIDGET (attach_widget)"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2746"><td class="num" id="LN2746">2746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2747"><td class="num" id="LN2747">2747</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2748"><td class="num" id="LN2748">2748</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2749"><td class="num" id="LN2749">2749</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2750"><td class="num" id="LN2750">2750</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2751"><td class="num" id="LN2751">2751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2752"><td class="num" id="LN2752">2752</td><td class="line"> <span class='comment'>/* Cancelling the initial animation for drawers in</span></td></tr>
+<tr class="codeline" data-linenumber="2753"><td class="num" id="LN2753">2753</td><td class="line"> <span class='comment'>* panel_toplevel_initially_hide() is not enough, since this will</span></td></tr>
+<tr class="codeline" data-linenumber="2754"><td class="num" id="LN2754">2754</td><td class="line"> <span class='comment'>* happen only when the toplevel is realized, which might be too late</span></td></tr>
+<tr class="codeline" data-linenumber="2755"><td class="num" id="LN2755">2755</td><td class="line"> <span class='comment'>* for drawers (since it's realized when the drawer is clicked) */</span></td></tr>
+<tr class="codeline" data-linenumber="2756"><td class="num" id="LN2756">2756</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2757"><td class="num" id="LN2757">2757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2758"><td class="num" id="LN2758">2758</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2759"><td class="num" id="LN2759">2759</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2760"><td class="num" id="LN2760">2760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2761"><td class="num" id="LN2761">2761</td><td class="line"> panel_toplevel_connect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2762"><td class="num" id="LN2762">2762</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2763"><td class="num" id="LN2763">2763</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2764"><td class="num" id="LN2764">2764</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2765"><td class="num" id="LN2765">2765</td><td class="line"> panel_toplevel_update_attach_orientation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2766"><td class="num" id="LN2766">2766</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2767"><td class="num" id="LN2767">2767</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2768"><td class="num" id="LN2768">2768</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="2769"><td class="num" id="LN2769">2769</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (attach_toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((attach_toplevel)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="2770"><td class="num" id="LN2770">2770</td><td class="line"> panel_toplevel_set_monitor (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2771"><td class="num" id="LN2771">2771</td><td class="line"> panel_toplevel_get_monitor (attach_toplevel));</td></tr>
+<tr class="codeline" data-linenumber="2772"><td class="num" id="LN2772">2772</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2773"><td class="num" id="LN2773">2773</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2774"><td class="num" id="LN2774">2774</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2775"><td class="num" id="LN2775">2775</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2776"><td class="num" id="LN2776">2776</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2777"><td class="num" id="LN2777">2777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2778"><td class="num" id="LN2778">2778</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2779"><td class="num" id="LN2779">2779</td><td class="line">panel_toplevel_detach (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2780"><td class="num" id="LN2780">2780</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2781"><td class="num" id="LN2781">2781</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2782"><td class="num" id="LN2782">2782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2783"><td class="num" id="LN2783">2783</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="2784"><td class="num" id="LN2784">2784</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2785"><td class="num" id="LN2785">2785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2786"><td class="num" id="LN2786">2786</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2787"><td class="num" id="LN2787">2787</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2788"><td class="num" id="LN2788">2788</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2789"><td class="num" id="LN2789">2789</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2790"><td class="num" id="LN2790">2790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2791"><td class="num" id="LN2791">2791</td><td class="line"> panel_toplevel_reverse_arrows (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2792"><td class="num" id="LN2792">2792</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2793"><td class="num" id="LN2793">2793</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2794"><td class="num" id="LN2794">2794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2795"><td class="num" id="LN2795">2795</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2796"><td class="num" id="LN2796">2796</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2797"><td class="num" id="LN2797">2797</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2798"><td class="num" id="LN2798">2798</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2799"><td class="num" id="LN2799">2799</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2800"><td class="num" id="LN2800">2800</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2801"><td class="num" id="LN2801">2801</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="2802"><td class="num" id="LN2802">2802</td><td class="line">panel_toplevel_get_is_attached (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2803"><td class="num" id="LN2803">2803</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2804"><td class="num" id="LN2804">2804</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2805"><td class="num" id="LN2805">2805</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2806"><td class="num" id="LN2806">2806</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attached;</td></tr>
+<tr class="codeline" data-linenumber="2807"><td class="num" id="LN2807">2807</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2808"><td class="num" id="LN2808">2808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2809"><td class="num" id="LN2809">2809</td><td class="line">PanelToplevel *</td></tr>
+<tr class="codeline" data-linenumber="2810"><td class="num" id="LN2810">2810</td><td class="line">panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2811"><td class="num" id="LN2811">2811</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2812"><td class="num" id="LN2812">2812</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2813"><td class="num" id="LN2813">2813</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2814"><td class="num" id="LN2814">2814</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2815"><td class="num" id="LN2815">2815</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2816"><td class="num" id="LN2816">2816</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2817"><td class="num" id="LN2817">2817</td><td class="line">GtkWidget *</td></tr>
+<tr class="codeline" data-linenumber="2818"><td class="num" id="LN2818">2818</td><td class="line">panel_toplevel_get_attach_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2819"><td class="num" id="LN2819">2819</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2820"><td class="num" id="LN2820">2820</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2821"><td class="num" id="LN2821">2821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2822"><td class="num" id="LN2822">2822</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;attach_widget;</td></tr>
+<tr class="codeline" data-linenumber="2823"><td class="num" id="LN2823">2823</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2824"><td class="num" id="LN2824">2824</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2825"><td class="num" id="LN2825">2825</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2826"><td class="num" id="LN2826">2826</td><td class="line">panel_toplevel_popup_panel_menu (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2827"><td class="num" id="LN2827">2827</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2828"><td class="num" id="LN2828">2828</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2829"><td class="num" id="LN2829">2829</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2830"><td class="num" id="LN2830">2830</td><td class="line"> g_signal_emit_by_name (toplevel, <span class='string_literal'>"popup-menu"</span>, &amp;retval);</td></tr>
+<tr class="codeline" data-linenumber="2831"><td class="num" id="LN2831">2831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2832"><td class="num" id="LN2832">2832</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="2833"><td class="num" id="LN2833">2833</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2834"><td class="num" id="LN2834">2834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2835"><td class="num" id="LN2835">2835</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2836"><td class="num" id="LN2836">2836</td><td class="line">panel_toplevel_toggle_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2837"><td class="num" id="LN2837">2837</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2838"><td class="num" id="LN2838">2838</td><td class="line"> panel_toplevel_set_expand (toplevel, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="2839"><td class="num" id="LN2839">2839</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2840"><td class="num" id="LN2840">2840</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2841"><td class="num" id="LN2841">2841</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2842"><td class="num" id="LN2842">2842</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2843"><td class="num" id="LN2843">2843</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2844"><td class="num" id="LN2844">2844</td><td class="line">panel_toplevel_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2845"><td class="num" id="LN2845">2845</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2846"><td class="num" id="LN2846">2846</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2847"><td class="num" id="LN2847">2847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2848"><td class="num" id="LN2848">2848</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2849"><td class="num" id="LN2849">2849</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2850"><td class="num" id="LN2850">2850</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2851"><td class="num" id="LN2851">2851</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2852"><td class="num" id="LN2852">2852</td><td class="line">panel_toplevel_unexpand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2853"><td class="num" id="LN2853">2853</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2854"><td class="num" id="LN2854">2854</td><td class="line"> panel_toplevel_set_expand (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2855"><td class="num" id="LN2855">2855</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2856"><td class="num" id="LN2856">2856</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2857"><td class="num" id="LN2857">2857</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2858"><td class="num" id="LN2858">2858</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2859"><td class="num" id="LN2859">2859</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2860"><td class="num" id="LN2860">2860</td><td class="line">panel_toplevel_toggle_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2861"><td class="num" id="LN2861">2861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2862"><td class="num" id="LN2862">2862</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="2863"><td class="num" id="LN2863">2863</td><td class="line"> panel_toplevel_hide (toplevel, toplevel-&gt;priv-&gt;auto_hide, -1);</td></tr>
+<tr class="codeline" data-linenumber="2864"><td class="num" id="LN2864">2864</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2865"><td class="num" id="LN2865">2865</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="2866"><td class="num" id="LN2866">2866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2867"><td class="num" id="LN2867">2867</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2868"><td class="num" id="LN2868">2868</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2869"><td class="num" id="LN2869">2869</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2870"><td class="num" id="LN2870">2870</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2871"><td class="num" id="LN2871">2871</td><td class="line">panel_toplevel_begin_move (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2872"><td class="num" id="LN2872">2872</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2873"><td class="num" id="LN2873">2873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2874"><td class="num" id="LN2874">2874</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2875"><td class="num" id="LN2875">2875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2876"><td class="num" id="LN2876">2876</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2877"><td class="num" id="LN2877">2877</td><td class="line"> toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2878"><td class="num" id="LN2878">2878</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2879"><td class="num" id="LN2879">2879</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2880"><td class="num" id="LN2880">2880</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2881"><td class="num" id="LN2881">2881</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2882"><td class="num" id="LN2882">2882</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="2883"><td class="num" id="LN2883">2883</td><td class="line">panel_toplevel_begin_resize (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2884"><td class="num" id="LN2884">2884</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2885"><td class="num" id="LN2885">2885</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="2886"><td class="num" id="LN2886">2886</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2887"><td class="num" id="LN2887">2887</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2888"><td class="num" id="LN2888">2888</td><td class="line"> panel_toplevel_begin_grab_op (</td></tr>
+<tr class="codeline" data-linenumber="2889"><td class="num" id="LN2889">2889</td><td class="line"> toplevel, PANEL_GRAB_OP_RESIZE, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>GDK_CURRENT_TIME<span class='macro_popup'>0L</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2890"><td class="num" id="LN2890">2890</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2891"><td class="num" id="LN2891">2891</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2892"><td class="num" id="LN2892">2892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2893"><td class="num" id="LN2893">2893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2894"><td class="num" id="LN2894">2894</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2895"><td class="num" id="LN2895">2895</td><td class="line">panel_toplevel_move_resize_window (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="2896"><td class="num" id="LN2896">2896</td><td class="line"> gboolean move,</td></tr>
+<tr class="codeline" data-linenumber="2897"><td class="num" id="LN2897">2897</td><td class="line"> gboolean resize)</td></tr>
+<tr class="codeline" data-linenumber="2898"><td class="num" id="LN2898">2898</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2899"><td class="num" id="LN2899">2899</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="2900"><td class="num" id="LN2900">2900</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2901"><td class="num" id="LN2901">2901</td><td class="line"> GList *list;</td></tr>
+<tr class="codeline" data-linenumber="2902"><td class="num" id="LN2902">2902</td><td class="line"> gboolean stick;</td></tr>
+<tr class="codeline" data-linenumber="2903"><td class="num" id="LN2903">2903</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2904"><td class="num" id="LN2904">2904</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2905"><td class="num" id="LN2905">2905</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2906"><td class="num" id="LN2906">2906</td><td class="line"> <span class='macro'>g_assert (gtk_widget_get_realized (widget))<span class='macro_popup'>do { if (gtk_widget_get_realized (widget)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-toplevel.c", 2906, ((const char*) (__func__<br>)), "gtk_widget_get_realized (widget)"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2907"><td class="num" id="LN2907">2907</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2908"><td class="num" id="LN2908">2908</td><td class="line"> <span class='keyword'>if</span> (move &amp;&amp; resize)</td></tr>
+<tr class="codeline" data-linenumber="2909"><td class="num" id="LN2909">2909</td><td class="line"> gdk_window_move_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2910"><td class="num" id="LN2910">2910</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2911"><td class="num" id="LN2911">2911</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y,</td></tr>
+<tr class="codeline" data-linenumber="2912"><td class="num" id="LN2912">2912</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2913"><td class="num" id="LN2913">2913</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2914"><td class="num" id="LN2914">2914</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (move)</td></tr>
+<tr class="codeline" data-linenumber="2915"><td class="num" id="LN2915">2915</td><td class="line"> gdk_window_move (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2916"><td class="num" id="LN2916">2916</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x,</td></tr>
+<tr class="codeline" data-linenumber="2917"><td class="num" id="LN2917">2917</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y);</td></tr>
+<tr class="codeline" data-linenumber="2918"><td class="num" id="LN2918">2918</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (resize)</td></tr>
+<tr class="codeline" data-linenumber="2919"><td class="num" id="LN2919">2919</td><td class="line"> gdk_window_resize (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="2920"><td class="num" id="LN2920">2920</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width,</td></tr>
+<tr class="codeline" data-linenumber="2921"><td class="num" id="LN2921">2921</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height);</td></tr>
+<tr class="codeline" data-linenumber="2922"><td class="num" id="LN2922">2922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2923"><td class="num" id="LN2923">2923</td><td class="line"> <span class='keyword'>if</span> (resize || move) {</td></tr>
+<tr class="codeline" data-linenumber="2924"><td class="num" id="LN2924">2924</td><td class="line"> <span class='keyword'>for</span> (list = toplevel-&gt;priv-&gt;panel_widget-&gt;applet_list; list != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>; list = <span class='macro'>g_list_next (list)<span class='macro_popup'>((list) ? (((GList *)(list))-&gt;next) : ((void*)0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2925"><td class="num" id="LN2925">2925</td><td class="line"> AppletData *ad = list-&gt;data;</td></tr>
+<tr class="codeline" data-linenumber="2926"><td class="num" id="LN2926">2926</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *id = mate_panel_applet_get_id_by_widget (ad-&gt;applet);</td></tr>
+<tr class="codeline" data-linenumber="2927"><td class="num" id="LN2927">2927</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2928"><td class="num" id="LN2928">2928</td><td class="line"> <span class='keyword'>if</span> (!id)</td></tr>
+<tr class="codeline" data-linenumber="2929"><td class="num" id="LN2929">2929</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2930"><td class="num" id="LN2930">2930</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2931"><td class="num" id="LN2931">2931</td><td class="line"> AppletInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="2932"><td class="num" id="LN2932">2932</td><td class="line"> info = mate_panel_applet_get_by_id (id);</td></tr>
+<tr class="codeline" data-linenumber="2933"><td class="num" id="LN2933">2933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2934"><td class="num" id="LN2934">2934</td><td class="line"> stick = g_settings_get_boolean (info-&gt;settings, <span class='macro'>PANEL_OBJECT_PANEL_RIGHT_STICK_KEY<span class='macro_popup'>"panel-right-stick"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2935"><td class="num" id="LN2935">2935</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2936"><td class="num" id="LN2936">2936</td><td class="line"> <span class='keyword'>if</span> (stick) {</td></tr>
+<tr class="codeline" data-linenumber="2937"><td class="num" id="LN2937">2937</td><td class="line"> <span class='keyword'>int</span> position = g_settings_get_int (info-&gt;settings, <span class='macro'>PANEL_OBJECT_POSITION_KEY<span class='macro_popup'>"position"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2938"><td class="num" id="LN2938">2938</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="2939"><td class="num" id="LN2939">2939</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.width - position;</td></tr>
+<tr class="codeline" data-linenumber="2940"><td class="num" id="LN2940">2940</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="2941"><td class="num" id="LN2941">2941</td><td class="line"> ad-&gt;pos = toplevel-&gt;priv-&gt;geometry.height - position;</td></tr>
+<tr class="codeline" data-linenumber="2942"><td class="num" id="LN2942">2942</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2943"><td class="num" id="LN2943">2943</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2944"><td class="num" id="LN2944">2944</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2945"><td class="num" id="LN2945">2945</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="2946"><td class="num" id="LN2946">2946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2947"><td class="num" id="LN2947">2947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2948"><td class="num" id="LN2948">2948</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2949"><td class="num" id="LN2949">2949</td><td class="line">panel_toplevel_initially_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="2950"><td class="num" id="LN2950">2950</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2951"><td class="num" id="LN2951">2951</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="2952"><td class="num" id="LN2952">2952</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2953"><td class="num" id="LN2953">2953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2954"><td class="num" id="LN2954">2954</td><td class="line"> <span class='comment'>/* We start the panel off hidden until all the applets are</span></td></tr>
+<tr class="codeline" data-linenumber="2955"><td class="num" id="LN2955">2955</td><td class="line"> <span class='comment'>* loaded, and then finally slide it down when it's ready to be</span></td></tr>
+<tr class="codeline" data-linenumber="2956"><td class="num" id="LN2956">2956</td><td class="line"> <span class='comment'>* used */</span></td></tr>
+<tr class="codeline" data-linenumber="2957"><td class="num" id="LN2957">2957</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="2958"><td class="num" id="LN2958">2958</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2959"><td class="num" id="LN2959">2959</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="2960"><td class="num" id="LN2960">2960</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2961"><td class="num" id="LN2961">2961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2962"><td class="num" id="LN2962">2962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2963"><td class="num" id="LN2963">2963</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2964"><td class="num" id="LN2964">2964</td><td class="line">set_background_default_style (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2965"><td class="num" id="LN2965">2965</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2966"><td class="num" id="LN2966">2966</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2967"><td class="num" id="LN2967">2967</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="2968"><td class="num" id="LN2968">2968</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="2969"><td class="num" id="LN2969">2969</td><td class="line"> GdkRGBA *bg_color;</td></tr>
+<tr class="codeline" data-linenumber="2970"><td class="num" id="LN2970">2970</td><td class="line"> cairo_pattern_t *bg_image;</td></tr>
+<tr class="codeline" data-linenumber="2971"><td class="num" id="LN2971">2971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2972"><td class="num" id="LN2972">2972</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="2973"><td class="num" id="LN2973">2973</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="2974"><td class="num" id="LN2974">2974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2975"><td class="num" id="LN2975">2975</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="2976"><td class="num" id="LN2976">2976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2977"><td class="num" id="LN2977">2977</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="2978"><td class="num" id="LN2978">2978</td><td class="line"> state = gtk_style_context_get_state (context);</td></tr>
+<tr class="codeline" data-linenumber="2979"><td class="num" id="LN2979">2979</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2980"><td class="num" id="LN2980">2980</td><td class="line"> gtk_style_context_get (context, state,</td></tr>
+<tr class="codeline" data-linenumber="2981"><td class="num" id="LN2981">2981</td><td class="line"> <span class='string_literal'>"background-color"</span>, &amp;bg_color,</td></tr>
+<tr class="codeline" data-linenumber="2982"><td class="num" id="LN2982">2982</td><td class="line"> <span class='string_literal'>"background-image"</span>, &amp;bg_image,</td></tr>
+<tr class="codeline" data-linenumber="2983"><td class="num" id="LN2983">2983</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="2984"><td class="num" id="LN2984">2984</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2985"><td class="num" id="LN2985">2985</td><td class="line"> panel_background_set_default_style (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="2986"><td class="num" id="LN2986">2986</td><td class="line"> bg_color, bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2987"><td class="num" id="LN2987">2987</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2988"><td class="num" id="LN2988">2988</td><td class="line"> <span class='keyword'>if</span> (bg_color)</td></tr>
+<tr class="codeline" data-linenumber="2989"><td class="num" id="LN2989">2989</td><td class="line"> gdk_rgba_free (bg_color);</td></tr>
+<tr class="codeline" data-linenumber="2990"><td class="num" id="LN2990">2990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2991"><td class="num" id="LN2991">2991</td><td class="line"> <span class='keyword'>if</span> (bg_image)</td></tr>
+<tr class="codeline" data-linenumber="2992"><td class="num" id="LN2992">2992</td><td class="line"> cairo_pattern_destroy (bg_image);</td></tr>
+<tr class="codeline" data-linenumber="2993"><td class="num" id="LN2993">2993</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="2994"><td class="num" id="LN2994">2994</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="2995"><td class="num" id="LN2995">2995</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="2996"><td class="num" id="LN2996">2996</td><td class="line">panel_toplevel_realize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="2997"><td class="num" id="LN2997">2997</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="2998"><td class="num" id="LN2998">2998</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="2999"><td class="num" id="LN2999">2999</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="3000"><td class="num" id="LN3000">3000</td><td class="line"> GdkVisual *visual;</td></tr>
+<tr class="codeline" data-linenumber="3001"><td class="num" id="LN3001">3001</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3002"><td class="num" id="LN3002">3002</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3003"><td class="num" id="LN3003">3003</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3004"><td class="num" id="LN3004">3004</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3005"><td class="num" id="LN3005">3005</td><td class="line"> screen = gtk_widget_get_screen (widget);</td></tr>
+<tr class="codeline" data-linenumber="3006"><td class="num" id="LN3006">3006</td><td class="line"> visual = gdk_screen_get_rgba_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3007"><td class="num" id="LN3007">3007</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3008"><td class="num" id="LN3008">3008</td><td class="line"> <span class='keyword'>if</span> (visual == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3009"><td class="num" id="LN3009">3009</td><td class="line"> visual = gdk_screen_get_system_visual (screen);</td></tr>
+<tr class="codeline" data-linenumber="3010"><td class="num" id="LN3010">3010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3011"><td class="num" id="LN3011">3011</td><td class="line"> gtk_widget_set_visual (widget, visual);</td></tr>
+<tr class="codeline" data-linenumber="3012"><td class="num" id="LN3012">3012</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3013"><td class="num" id="LN3013">3013</td><td class="line"> gtk_window_set_decorated (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3014"><td class="num" id="LN3014">3014</td><td class="line"> gtk_window_stick (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3015"><td class="num" id="LN3015">3015</td><td class="line"> gtk_window_set_type_hint (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>, GDK_WINDOW_TYPE_HINT_DOCK);</td></tr>
+<tr class="codeline" data-linenumber="3016"><td class="num" id="LN3016">3016</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3017"><td class="num" id="LN3017">3017</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;realize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3018"><td class="num" id="LN3018">3018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3019"><td class="num" id="LN3019">3019</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3020"><td class="num" id="LN3020">3020</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3021"><td class="num" id="LN3021">3021</td><td class="line"> panel_background_realized (&amp;toplevel-&gt;background, window);</td></tr>
+<tr class="codeline" data-linenumber="3022"><td class="num" id="LN3022">3022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3023"><td class="num" id="LN3023">3023</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3024"><td class="num" id="LN3024">3024</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_WINDOW (window)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(window)); GType __t = ((gdk_x11_window_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3025"><td class="num" id="LN3025">3025</td><td class="line"> panel_struts_set_window_hint (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3026"><td class="num" id="LN3026">3026</td><td class="line"> gdk_window_set_geometry_hints (window, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="3027"><td class="num" id="LN3027">3027</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3028"><td class="num" id="LN3028">3028</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3029"><td class="num" id="LN3029">3029</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3030"><td class="num" id="LN3030">3030</td><td class="line"> gdk_window_set_group (window, window);</td></tr>
+<tr class="codeline" data-linenumber="3031"><td class="num" id="LN3031">3031</td><td class="line"> panel_toplevel_initially_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3032"><td class="num" id="LN3032">3032</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3033"><td class="num" id="LN3033">3033</td><td class="line"> panel_toplevel_move_resize_window (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3034"><td class="num" id="LN3034">3034</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3035"><td class="num" id="LN3035">3035</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3036"><td class="num" id="LN3036">3036</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3037"><td class="num" id="LN3037">3037</td><td class="line">panel_toplevel_disconnect_timeouts (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3038"><td class="num" id="LN3038">3038</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3039"><td class="num" id="LN3039">3039</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3040"><td class="num" id="LN3040">3040</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3041"><td class="num" id="LN3041">3041</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3042"><td class="num" id="LN3042">3042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3043"><td class="num" id="LN3043">3043</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3044"><td class="num" id="LN3044">3044</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3045"><td class="num" id="LN3045">3045</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3046"><td class="num" id="LN3046">3046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3047"><td class="num" id="LN3047">3047</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3048"><td class="num" id="LN3048">3048</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;animation_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3049"><td class="num" id="LN3049">3049</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3050"><td class="num" id="LN3050">3050</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3051"><td class="num" id="LN3051">3051</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3052"><td class="num" id="LN3052">3052</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3053"><td class="num" id="LN3053">3053</td><td class="line">panel_toplevel_unrealize (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3054"><td class="num" id="LN3054">3054</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3055"><td class="num" id="LN3055">3055</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3056"><td class="num" id="LN3056">3056</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3057"><td class="num" id="LN3057">3057</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3058"><td class="num" id="LN3058">3058</td><td class="line"> panel_background_unrealized (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3059"><td class="num" id="LN3059">3059</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;unrealize (widget);</td></tr>
+<tr class="codeline" data-linenumber="3060"><td class="num" id="LN3060">3060</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3061"><td class="num" id="LN3061">3061</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3062"><td class="num" id="LN3062">3062</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3063"><td class="num" id="LN3063">3063</td><td class="line">panel_toplevel_dispose (GObject *widget)</td></tr>
+<tr class="codeline" data-linenumber="3064"><td class="num" id="LN3064">3064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3065"><td class="num" id="LN3065">3065</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3066"><td class="num" id="LN3066">3066</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3067"><td class="num" id="LN3067">3067</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;settings_path, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;settings_path<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;settings_path)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;settings_path); __typeof__ (*(&amp;toplevel-&gt;<br>priv-&gt;settings_path)) _ptr = *_pp; *_pp = ((void*)0); if (<br>_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3068"><td class="num" id="LN3068">3068</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3069"><td class="num" id="LN3069">3069</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;settings) {</td></tr>
+<tr class="codeline" data-linenumber="3070"><td class="num" id="LN3070">3070</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;settings)<br>, G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3071"><td class="num" id="LN3071">3071</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;settings)) ==<br> sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;settings))) _pp = ((&amp;toplevel-&gt;settings<br>)); __typeof__ (*((&amp;toplevel-&gt;settings))) _ptr = *_pp;<br> *_pp = ((void*)0); if (_ptr) (g_object_unref) (_ptr); } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3072"><td class="num" id="LN3072">3072</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3073"><td class="num" id="LN3073">3073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3074"><td class="num" id="LN3074">3074</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;queued_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;queued_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;queued_settings))) _pp = ((&amp;toplevel<br>-&gt;queued_settings)); __typeof__ (*((&amp;toplevel-&gt;queued_settings<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3075"><td class="num" id="LN3075">3075</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3076"><td class="num" id="LN3076">3076</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;background_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3077"><td class="num" id="LN3077">3077</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_data (toplevel-&gt;background_settings, toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;background_settings<br>), G_SIGNAL_MATCH_DATA, 0, 0, ((void*)0), ((void*)0), (toplevel<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3078"><td class="num" id="LN3078">3078</td><td class="line"> <span class='macro'>g_clear_object (&amp;toplevel-&gt;background_settings)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;toplevel-&gt;background_settings<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;toplevel-&gt;background_settings))) _pp = ((&amp;toplevel<br>-&gt;background_settings)); __typeof__ (*((&amp;toplevel-&gt;<br>background_settings))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr<br>) (g_object_unref) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3079"><td class="num" id="LN3079">3079</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3080"><td class="num" id="LN3080">3080</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3081"><td class="num" id="LN3081">3081</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings) {</td></tr>
+<tr class="codeline" data-linenumber="3082"><td class="num" id="LN3082">3082</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3083"><td class="num" id="LN3083">3083</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="3084"><td class="num" id="LN3084">3084</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3085"><td class="num" id="LN3085">3085</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3086"><td class="num" id="LN3086">3086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3087"><td class="num" id="LN3087">3087</td><td class="line"> panel_background_free (&amp;toplevel-&gt;background);</td></tr>
+<tr class="codeline" data-linenumber="3088"><td class="num" id="LN3088">3088</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3089"><td class="num" id="LN3089">3089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3090"><td class="num" id="LN3090">3090</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3091"><td class="num" id="LN3091">3091</td><td class="line"> panel_toplevel_disconnect_attached (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3092"><td class="num" id="LN3092">3092</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3093"><td class="num" id="LN3093">3093</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3094"><td class="num" id="LN3094">3094</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3095"><td class="num" id="LN3095">3095</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3096"><td class="num" id="LN3096">3096</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3097"><td class="num" id="LN3097">3097</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3098"><td class="num" id="LN3098">3098</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;description, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;description<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;description)) _pp = (&amp;toplevel<br>-&gt;priv-&gt;description); __typeof__ (*(&amp;toplevel-&gt;priv<br>-&gt;description)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (<br>g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3099"><td class="num" id="LN3099">3099</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;toplevel-&gt;priv-&gt;name, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;toplevel-&gt;priv-&gt;name<br>) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> ((&amp;toplevel-&gt;priv-&gt;name)) _pp = (&amp;toplevel-&gt;<br>priv-&gt;name); __typeof__ (*(&amp;toplevel-&gt;priv-&gt;name<br>)) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_free) (_ptr);<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3100"><td class="num" id="LN3100">3100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3101"><td class="num" id="LN3101">3101</td><td class="line"> panel_toplevel_disconnect_timeouts (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3102"><td class="num" id="LN3102">3102</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3103"><td class="num" id="LN3103">3103</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;dispose (widget);</td></tr>
+<tr class="codeline" data-linenumber="3104"><td class="num" id="LN3104">3104</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3105"><td class="num" id="LN3105">3105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3106"><td class="num" id="LN3106">3106</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3107"><td class="num" id="LN3107">3107</td><td class="line">panel_toplevel_check_resize (GtkContainer *container)</td></tr>
+<tr class="codeline" data-linenumber="3108"><td class="num" id="LN3108">3108</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3109"><td class="num" id="LN3109">3109</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3110"><td class="num" id="LN3110">3110</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3111"><td class="num" id="LN3111">3111</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3112"><td class="num" id="LN3112">3112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3113"><td class="num" id="LN3113">3113</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (container)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3114"><td class="num" id="LN3114">3114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3115"><td class="num" id="LN3115">3115</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (widget))</td></tr>
+<tr class="codeline" data-linenumber="3116"><td class="num" id="LN3116">3116</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3117"><td class="num" id="LN3117">3117</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3118"><td class="num" id="LN3118">3118</td><td class="line"> requisition.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3119"><td class="num" id="LN3119">3119</td><td class="line"> requisition.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3120"><td class="num" id="LN3120">3120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3121"><td class="num" id="LN3121">3121</td><td class="line"> gtk_widget_get_preferred_size (widget, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3122"><td class="num" id="LN3122">3122</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3123"><td class="num" id="LN3123">3123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3124"><td class="num" id="LN3124">3124</td><td class="line"> allocation.width = requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3125"><td class="num" id="LN3125">3125</td><td class="line"> allocation.height = requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3126"><td class="num" id="LN3126">3126</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3127"><td class="num" id="LN3127">3127</td><td class="line"> gtk_widget_size_allocate (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3128"><td class="num" id="LN3128">3128</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3129"><td class="num" id="LN3129">3129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3130"><td class="num" id="LN3130">3130</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3131"><td class="num" id="LN3131">3131</td><td class="line">panel_toplevel_size_request (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3132"><td class="num" id="LN3132">3132</td><td class="line"> GtkRequisition *requisition)</td></tr>
+<tr class="codeline" data-linenumber="3133"><td class="num" id="LN3133">3133</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3134"><td class="num" id="LN3134">3134</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3135"><td class="num" id="LN3135">3135</td><td class="line"> GtkBin *bin;</td></tr>
+<tr class="codeline" data-linenumber="3136"><td class="num" id="LN3136">3136</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3137"><td class="num" id="LN3137">3137</td><td class="line"> GdkRectangle old_geometry;</td></tr>
+<tr class="codeline" data-linenumber="3138"><td class="num" id="LN3138">3138</td><td class="line"> <span class='keyword'>int</span> position_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3139"><td class="num" id="LN3139">3139</td><td class="line"> <span class='keyword'>int</span> size_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3140"><td class="num" id="LN3140">3140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3141"><td class="num" id="LN3141">3141</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3142"><td class="num" id="LN3142">3142</td><td class="line"> bin = <span class='macro'>GTK_BIN (widget)<span class='macro_popup'>((((GtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_bin_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3143"><td class="num" id="LN3143">3143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3144"><td class="num" id="LN3144">3144</td><td class="line"> <span class='comment'>/* we get a size request when there are new monitors, so first try to</span></td></tr>
+<tr class="codeline" data-linenumber="3145"><td class="num" id="LN3145">3145</td><td class="line"> <span class='comment'>* see if we need to move to a new monitor */</span></td></tr>
+<tr class="codeline" data-linenumber="3146"><td class="num" id="LN3146">3146</td><td class="line"> panel_toplevel_update_monitor (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3147"><td class="num" id="LN3147">3147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3148"><td class="num" id="LN3148">3148</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3149"><td class="num" id="LN3149">3149</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3150"><td class="num" id="LN3150">3150</td><td class="line"> gtk_widget_get_preferred_size (child, requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3151"><td class="num" id="LN3151">3151</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3152"><td class="num" id="LN3152">3152</td><td class="line"> old_geometry = toplevel-&gt;priv-&gt;geometry;</td></tr>
+<tr class="codeline" data-linenumber="3153"><td class="num" id="LN3153">3153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3154"><td class="num" id="LN3154">3154</td><td class="line"> panel_toplevel_update_geometry (toplevel, requisition);</td></tr>
+<tr class="codeline" data-linenumber="3155"><td class="num" id="LN3155">3155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3156"><td class="num" id="LN3156">3156</td><td class="line"> requisition-&gt;width = toplevel-&gt;priv-&gt;geometry.width;</td></tr>
+<tr class="codeline" data-linenumber="3157"><td class="num" id="LN3157">3157</td><td class="line"> requisition-&gt;height = toplevel-&gt;priv-&gt;geometry.height;</td></tr>
+<tr class="codeline" data-linenumber="3158"><td class="num" id="LN3158">3158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3159"><td class="num" id="LN3159">3159</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3160"><td class="num" id="LN3160">3160</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3161"><td class="num" id="LN3161">3161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3162"><td class="num" id="LN3162">3162</td><td class="line"> <span class='keyword'>if</span> (old_geometry.width != toplevel-&gt;priv-&gt;geometry.width ||</td></tr>
+<tr class="codeline" data-linenumber="3163"><td class="num" id="LN3163">3163</td><td class="line"> old_geometry.height != toplevel-&gt;priv-&gt;geometry.height)</td></tr>
+<tr class="codeline" data-linenumber="3164"><td class="num" id="LN3164">3164</td><td class="line"> size_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3165"><td class="num" id="LN3165">3165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3166"><td class="num" id="LN3166">3166</td><td class="line"> <span class='keyword'>if</span> (old_geometry.x != toplevel-&gt;priv-&gt;geometry.x ||</td></tr>
+<tr class="codeline" data-linenumber="3167"><td class="num" id="LN3167">3167</td><td class="line"> old_geometry.y != toplevel-&gt;priv-&gt;geometry.y)</td></tr>
+<tr class="codeline" data-linenumber="3168"><td class="num" id="LN3168">3168</td><td class="line"> position_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3169"><td class="num" id="LN3169">3169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3170"><td class="num" id="LN3170">3170</td><td class="line"> panel_toplevel_move_resize_window (toplevel, position_changed, size_changed);</td></tr>
+<tr class="codeline" data-linenumber="3171"><td class="num" id="LN3171">3171</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3172"><td class="num" id="LN3172">3172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3173"><td class="num" id="LN3173">3173</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3174"><td class="num" id="LN3174">3174</td><td class="line">panel_toplevel_get_preferred_width (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3175"><td class="num" id="LN3175">3175</td><td class="line"> gint *minimum_width,</td></tr>
+<tr class="codeline" data-linenumber="3176"><td class="num" id="LN3176">3176</td><td class="line"> gint *natural_width)</td></tr>
+<tr class="codeline" data-linenumber="3177"><td class="num" id="LN3177">3177</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3178"><td class="num" id="LN3178">3178</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3179"><td class="num" id="LN3179">3179</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3180"><td class="num" id="LN3180">3180</td><td class="line"> *minimum_width = *natural_width = req.width;</td></tr>
+<tr class="codeline" data-linenumber="3181"><td class="num" id="LN3181">3181</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3182"><td class="num" id="LN3182">3182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3183"><td class="num" id="LN3183">3183</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3184"><td class="num" id="LN3184">3184</td><td class="line">panel_toplevel_get_preferred_height (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3185"><td class="num" id="LN3185">3185</td><td class="line"> gint *minimum_height,</td></tr>
+<tr class="codeline" data-linenumber="3186"><td class="num" id="LN3186">3186</td><td class="line"> gint *natural_height)</td></tr>
+<tr class="codeline" data-linenumber="3187"><td class="num" id="LN3187">3187</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3188"><td class="num" id="LN3188">3188</td><td class="line"> GtkRequisition req;</td></tr>
+<tr class="codeline" data-linenumber="3189"><td class="num" id="LN3189">3189</td><td class="line"> panel_toplevel_size_request (widget, &amp;req);</td></tr>
+<tr class="codeline" data-linenumber="3190"><td class="num" id="LN3190">3190</td><td class="line"> *minimum_height = *natural_height = req.height;</td></tr>
+<tr class="codeline" data-linenumber="3191"><td class="num" id="LN3191">3191</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3192"><td class="num" id="LN3192">3192</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3193"><td class="num" id="LN3193">3193</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3194"><td class="num" id="LN3194">3194</td><td class="line">set_background_region (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3195"><td class="num" id="LN3195">3195</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3196"><td class="num" id="LN3196">3196</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="3197"><td class="num" id="LN3197">3197</td><td class="line"> GdkWindow *window;</td></tr>
+<tr class="codeline" data-linenumber="3198"><td class="num" id="LN3198">3198</td><td class="line"> gint origin_x;</td></tr>
+<tr class="codeline" data-linenumber="3199"><td class="num" id="LN3199">3199</td><td class="line"> gint origin_y;</td></tr>
+<tr class="codeline" data-linenumber="3200"><td class="num" id="LN3200">3200</td><td class="line"> GtkAllocation allocation;</td></tr>
+<tr class="codeline" data-linenumber="3201"><td class="num" id="LN3201">3201</td><td class="line"> GtkOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="3202"><td class="num" id="LN3202">3202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3203"><td class="num" id="LN3203">3203</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3204"><td class="num" id="LN3204">3204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3205"><td class="num" id="LN3205">3205</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_realized (widget))</td></tr>
+<tr class="codeline" data-linenumber="3206"><td class="num" id="LN3206">3206</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3207"><td class="num" id="LN3207">3207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3208"><td class="num" id="LN3208">3208</td><td class="line"> window = gtk_widget_get_window (widget);</td></tr>
+<tr class="codeline" data-linenumber="3209"><td class="num" id="LN3209">3209</td><td class="line"> origin_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3210"><td class="num" id="LN3210">3210</td><td class="line"> origin_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3211"><td class="num" id="LN3211">3211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3212"><td class="num" id="LN3212">3212</td><td class="line"> gdk_window_get_origin (window, &amp;origin_x, &amp;origin_y);</td></tr>
+<tr class="codeline" data-linenumber="3213"><td class="num" id="LN3213">3213</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation);</td></tr>
+<tr class="codeline" data-linenumber="3214"><td class="num" id="LN3214">3214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3215"><td class="num" id="LN3215">3215</td><td class="line"> orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="3216"><td class="num" id="LN3216">3216</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3217"><td class="num" id="LN3217">3217</td><td class="line"> orientation = GTK_ORIENTATION_VERTICAL;</td></tr>
+<tr class="codeline" data-linenumber="3218"><td class="num" id="LN3218">3218</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3219"><td class="num" id="LN3219">3219</td><td class="line"> panel_background_change_region (&amp;toplevel-&gt;background, orientation,</td></tr>
+<tr class="codeline" data-linenumber="3220"><td class="num" id="LN3220">3220</td><td class="line"> origin_x, origin_y,</td></tr>
+<tr class="codeline" data-linenumber="3221"><td class="num" id="LN3221">3221</td><td class="line"> allocation.width, allocation.height);</td></tr>
+<tr class="codeline" data-linenumber="3222"><td class="num" id="LN3222">3222</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3223"><td class="num" id="LN3223">3223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3224"><td class="num" id="LN3224">3224</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3225"><td class="num" id="LN3225">3225</td><td class="line">panel_toplevel_size_allocate (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3226"><td class="num" id="LN3226">3226</td><td class="line"> GtkAllocation *allocation)</td></tr>
+<tr class="codeline" data-linenumber="3227"><td class="num" id="LN3227">3227</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3228"><td class="num" id="LN3228">3228</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3229"><td class="num" id="LN3229">3229</td><td class="line"> GtkBin *bin = (GtkBin *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3230"><td class="num" id="LN3230">3230</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3231"><td class="num" id="LN3231">3231</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3232"><td class="num" id="LN3232">3232</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3233"><td class="num" id="LN3233">3233</td><td class="line"> GtkWidget *child;</td></tr>
+<tr class="codeline" data-linenumber="3234"><td class="num" id="LN3234">3234</td><td class="line"> GtkAllocation challoc;</td></tr>
+<tr class="codeline" data-linenumber="3235"><td class="num" id="LN3235">3235</td><td class="line"> GtkAllocation child_allocation;</td></tr>
+<tr class="codeline" data-linenumber="3236"><td class="num" id="LN3236">3236</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3237"><td class="num" id="LN3237">3237</td><td class="line"> gtk_widget_set_allocation (widget, allocation);</td></tr>
+<tr class="codeline" data-linenumber="3238"><td class="num" id="LN3238">3238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3239"><td class="num" id="LN3239">3239</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3240"><td class="num" id="LN3240">3240</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3241"><td class="num" id="LN3241">3241</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3242"><td class="num" id="LN3242">3242</td><td class="line"> challoc = *allocation;</td></tr>
+<tr class="codeline" data-linenumber="3243"><td class="num" id="LN3243">3243</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3244"><td class="num" id="LN3244">3244</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3245"><td class="num" id="LN3245">3245</td><td class="line"> challoc.x = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3246"><td class="num" id="LN3246">3246</td><td class="line"> challoc.y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3247"><td class="num" id="LN3247">3247</td><td class="line"> challoc.width = allocation-&gt;width - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3248"><td class="num" id="LN3248">3248</td><td class="line"> challoc.height = allocation-&gt;height;</td></tr>
+<tr class="codeline" data-linenumber="3249"><td class="num" id="LN3249">3249</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3250"><td class="num" id="LN3250">3250</td><td class="line"> challoc.x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3251"><td class="num" id="LN3251">3251</td><td class="line"> challoc.y = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3252"><td class="num" id="LN3252">3252</td><td class="line"> challoc.width = allocation-&gt;width;</td></tr>
+<tr class="codeline" data-linenumber="3253"><td class="num" id="LN3253">3253</td><td class="line"> challoc.height = allocation-&gt;height - 2 * <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3254"><td class="num" id="LN3254">3254</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3255"><td class="num" id="LN3255">3255</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3256"><td class="num" id="LN3256">3256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3257"><td class="num" id="LN3257">3257</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3258"><td class="num" id="LN3258">3258</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3259"><td class="num" id="LN3259">3259</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3260"><td class="num" id="LN3260">3260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3261"><td class="num" id="LN3261">3261</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3262"><td class="num" id="LN3262">3262</td><td class="line"> challoc.y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3263"><td class="num" id="LN3263">3263</td><td class="line"> challoc.height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3264"><td class="num" id="LN3264">3264</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3265"><td class="num" id="LN3265">3265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3266"><td class="num" id="LN3266">3266</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3267"><td class="num" id="LN3267">3267</td><td class="line"> challoc.x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3268"><td class="num" id="LN3268">3268</td><td class="line"> challoc.width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3269"><td class="num" id="LN3269">3269</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3270"><td class="num" id="LN3270">3270</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3271"><td class="num" id="LN3271">3271</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3272"><td class="num" id="LN3272">3272</td><td class="line"> challoc.height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3273"><td class="num" id="LN3273">3273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3274"><td class="num" id="LN3274">3274</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3275"><td class="num" id="LN3275">3275</td><td class="line"> challoc.width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3276"><td class="num" id="LN3276">3276</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3277"><td class="num" id="LN3277">3277</td><td class="line"> challoc.width = <span class='macro'>MAX (1, challoc.width)<span class='macro_popup'>(((1) &gt; (challoc.width)) ? (1) : (challoc.width))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3278"><td class="num" id="LN3278">3278</td><td class="line"> challoc.height = <span class='macro'>MAX (1, challoc.height)<span class='macro_popup'>(((1) &gt; (challoc.height)) ? (1) : (challoc.height))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3279"><td class="num" id="LN3279">3279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3280"><td class="num" id="LN3280">3280</td><td class="line"> child = gtk_bin_get_child (bin);</td></tr>
+<tr class="codeline" data-linenumber="3281"><td class="num" id="LN3281">3281</td><td class="line"> gtk_widget_get_allocation (child, &amp;child_allocation);</td></tr>
+<tr class="codeline" data-linenumber="3282"><td class="num" id="LN3282">3282</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3283"><td class="num" id="LN3283">3283</td><td class="line"> <span class='keyword'>if</span> (gtk_widget_get_mapped (widget) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3284"><td class="num" id="LN3284">3284</td><td class="line"> (challoc.x != child_allocation.x ||</td></tr>
+<tr class="codeline" data-linenumber="3285"><td class="num" id="LN3285">3285</td><td class="line"> challoc.y != child_allocation.y ||</td></tr>
+<tr class="codeline" data-linenumber="3286"><td class="num" id="LN3286">3286</td><td class="line"> challoc.width != child_allocation.width ||</td></tr>
+<tr class="codeline" data-linenumber="3287"><td class="num" id="LN3287">3287</td><td class="line"> challoc.height != child_allocation.height)) {</td></tr>
+<tr class="codeline" data-linenumber="3288"><td class="num" id="LN3288">3288</td><td class="line"> GtkAllocation allocation_to_invalidate;</td></tr>
+<tr class="codeline" data-linenumber="3289"><td class="num" id="LN3289">3289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3290"><td class="num" id="LN3290">3290</td><td class="line"> gtk_widget_get_allocation (widget, &amp;allocation_to_invalidate);</td></tr>
+<tr class="codeline" data-linenumber="3291"><td class="num" id="LN3291">3291</td><td class="line"> gdk_window_invalidate_rect (gtk_widget_get_window (widget),</td></tr>
+<tr class="codeline" data-linenumber="3292"><td class="num" id="LN3292">3292</td><td class="line"> &amp;allocation_to_invalidate, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3293"><td class="num" id="LN3293">3293</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3294"><td class="num" id="LN3294">3294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3295"><td class="num" id="LN3295">3295</td><td class="line"> <span class='keyword'>if</span> (child &amp;&amp; gtk_widget_get_visible (child))</td></tr>
+<tr class="codeline" data-linenumber="3296"><td class="num" id="LN3296">3296</td><td class="line"> gtk_widget_size_allocate (child, &amp;challoc);</td></tr>
+<tr class="codeline" data-linenumber="3297"><td class="num" id="LN3297">3297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3298"><td class="num" id="LN3298">3298</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3299"><td class="num" id="LN3299">3299</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3300"><td class="num" id="LN3300">3300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3301"><td class="num" id="LN3301">3301</td><td class="line"><span class='keyword'>static</span> gboolean panel_toplevel_draw(GtkWidget* widget, cairo_t* cr)</td></tr>
+<tr class="codeline" data-linenumber="3302"><td class="num" id="LN3302">3302</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3303"><td class="num" id="LN3303">3303</td><td class="line"> PanelToplevel* toplevel = (PanelToplevel*) widget;</td></tr>
+<tr class="codeline" data-linenumber="3304"><td class="num" id="LN3304">3304</td><td class="line"> PanelFrameEdge edges;</td></tr>
+<tr class="codeline" data-linenumber="3305"><td class="num" id="LN3305">3305</td><td class="line"> gboolean retval = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3306"><td class="num" id="LN3306">3306</td><td class="line"> <span class='keyword'>int</span> awidth;</td></tr>
+<tr class="codeline" data-linenumber="3307"><td class="num" id="LN3307">3307</td><td class="line"> <span class='keyword'>int</span> aheight;</td></tr>
+<tr class="codeline" data-linenumber="3308"><td class="num" id="LN3308">3308</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="3309"><td class="num" id="LN3309">3309</td><td class="line"> GtkStateFlags state;</td></tr>
+<tr class="codeline" data-linenumber="3310"><td class="num" id="LN3310">3310</td><td class="line"> GtkBorder padding;</td></tr>
+<tr class="codeline" data-linenumber="3311"><td class="num" id="LN3311">3311</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3312"><td class="num" id="LN3312">3312</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_is_drawable (widget))</td></tr>
+<tr class="codeline" data-linenumber="3313"><td class="num" id="LN3313">3313</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3314"><td class="num" id="LN3314">3314</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3315"><td class="num" id="LN3315">3315</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw)</td></tr>
+<tr class="codeline" data-linenumber="3316"><td class="num" id="LN3316">3316</td><td class="line"> retval = <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;draw (widget, cr);</td></tr>
+<tr class="codeline" data-linenumber="3317"><td class="num" id="LN3317">3317</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3318"><td class="num" id="LN3318">3318</td><td class="line"> edges = toplevel-&gt;priv-&gt;edges;</td></tr>
+<tr class="codeline" data-linenumber="3319"><td class="num" id="LN3319">3319</td><td class="line"> panel_frame_draw (widget, cr, edges);</td></tr>
+<tr class="codeline" data-linenumber="3320"><td class="num" id="LN3320">3320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3321"><td class="num" id="LN3321">3321</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand ||</td></tr>
+<tr class="codeline" data-linenumber="3322"><td class="num" id="LN3322">3322</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled ||</td></tr>
+<tr class="codeline" data-linenumber="3323"><td class="num" id="LN3323">3323</td><td class="line"> toplevel-&gt;priv-&gt;attached)</td></tr>
+<tr class="codeline" data-linenumber="3324"><td class="num" id="LN3324">3324</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3325"><td class="num" id="LN3325">3325</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3326"><td class="num" id="LN3326">3326</td><td class="line"> state = gtk_widget_get_state_flags (widget);</td></tr>
+<tr class="codeline" data-linenumber="3327"><td class="num" id="LN3327">3327</td><td class="line"> awidth = gtk_widget_get_allocated_width (widget);</td></tr>
+<tr class="codeline" data-linenumber="3328"><td class="num" id="LN3328">3328</td><td class="line"> aheight = gtk_widget_get_allocated_height (widget);</td></tr>
+<tr class="codeline" data-linenumber="3329"><td class="num" id="LN3329">3329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3330"><td class="num" id="LN3330">3330</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="3331"><td class="num" id="LN3331">3331</td><td class="line"> gtk_style_context_get_padding (context, state, &amp;padding);</td></tr>
+<tr class="codeline" data-linenumber="3332"><td class="num" id="LN3332">3332</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3333"><td class="num" id="LN3333">3333</td><td class="line"> gtk_style_context_save (context);</td></tr>
+<tr class="codeline" data-linenumber="3334"><td class="num" id="LN3334">3334</td><td class="line"> gtk_style_context_set_state (context, state);</td></tr>
+<tr class="codeline" data-linenumber="3335"><td class="num" id="LN3335">3335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3336"><td class="num" id="LN3336">3336</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3337"><td class="num" id="LN3337">3337</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3338"><td class="num" id="LN3338">3338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3339"><td class="num" id="LN3339">3339</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3340"><td class="num" id="LN3340">3340</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3341"><td class="num" id="LN3341">3341</td><td class="line"> height = aheight;</td></tr>
+<tr class="codeline" data-linenumber="3342"><td class="num" id="LN3342">3342</td><td class="line"> width = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3343"><td class="num" id="LN3343">3343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3344"><td class="num" id="LN3344">3344</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP) {</td></tr>
+<tr class="codeline" data-linenumber="3345"><td class="num" id="LN3345">3345</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3346"><td class="num" id="LN3346">3346</td><td class="line"> height -= padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3347"><td class="num" id="LN3347">3347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3348"><td class="num" id="LN3348">3348</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3349"><td class="num" id="LN3349">3349</td><td class="line"> height -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3350"><td class="num" id="LN3350">3350</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="3351"><td class="num" id="LN3351">3351</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3352"><td class="num" id="LN3352">3352</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3353"><td class="num" id="LN3353">3353</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3354"><td class="num" id="LN3354">3354</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3355"><td class="num" id="LN3355">3355</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3356"><td class="num" id="LN3356">3356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3357"><td class="num" id="LN3357">3357</td><td class="line"> x = awidth - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3358"><td class="num" id="LN3358">3358</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3359"><td class="num" id="LN3359">3359</td><td class="line"> x -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3360"><td class="num" id="LN3360">3360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3361"><td class="num" id="LN3361">3361</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3362"><td class="num" id="LN3362">3362</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3363"><td class="num" id="LN3363">3363</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3364"><td class="num" id="LN3364">3364</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3365"><td class="num" id="LN3365">3365</td><td class="line"> <span class='keyword'>int</span> x, y, width, height;</td></tr>
+<tr class="codeline" data-linenumber="3366"><td class="num" id="LN3366">3366</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3367"><td class="num" id="LN3367">3367</td><td class="line"> x = 0;</td></tr>
+<tr class="codeline" data-linenumber="3368"><td class="num" id="LN3368">3368</td><td class="line"> y = 0;</td></tr>
+<tr class="codeline" data-linenumber="3369"><td class="num" id="LN3369">3369</td><td class="line"> width = awidth;</td></tr>
+<tr class="codeline" data-linenumber="3370"><td class="num" id="LN3370">3370</td><td class="line"> height = <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3371"><td class="num" id="LN3371">3371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3372"><td class="num" id="LN3372">3372</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_LEFT) {</td></tr>
+<tr class="codeline" data-linenumber="3373"><td class="num" id="LN3373">3373</td><td class="line"> x += padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3374"><td class="num" id="LN3374">3374</td><td class="line"> width -= padding.left;</td></tr>
+<tr class="codeline" data-linenumber="3375"><td class="num" id="LN3375">3375</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3376"><td class="num" id="LN3376">3376</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="3377"><td class="num" id="LN3377">3377</td><td class="line"> width -= padding.right;</td></tr>
+<tr class="codeline" data-linenumber="3378"><td class="num" id="LN3378">3378</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_TOP)</td></tr>
+<tr class="codeline" data-linenumber="3379"><td class="num" id="LN3379">3379</td><td class="line"> y += padding.top;</td></tr>
+<tr class="codeline" data-linenumber="3380"><td class="num" id="LN3380">3380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3381"><td class="num" id="LN3381">3381</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3382"><td class="num" id="LN3382">3382</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3383"><td class="num" id="LN3383">3383</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3384"><td class="num" id="LN3384">3384</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3385"><td class="num" id="LN3385">3385</td><td class="line"> y = aheight - <span class='macro'>HANDLE_SIZE<span class='macro_popup'>10</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3386"><td class="num" id="LN3386">3386</td><td class="line"> <span class='keyword'>if</span> (edges &amp; PANEL_EDGE_BOTTOM)</td></tr>
+<tr class="codeline" data-linenumber="3387"><td class="num" id="LN3387">3387</td><td class="line"> y -= padding.bottom;</td></tr>
+<tr class="codeline" data-linenumber="3388"><td class="num" id="LN3388">3388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3389"><td class="num" id="LN3389">3389</td><td class="line"> cairo_save (cr);</td></tr>
+<tr class="codeline" data-linenumber="3390"><td class="num" id="LN3390">3390</td><td class="line"> gtk_render_handle (context, cr, x, y, width, height);</td></tr>
+<tr class="codeline" data-linenumber="3391"><td class="num" id="LN3391">3391</td><td class="line"> cairo_restore (cr);</td></tr>
+<tr class="codeline" data-linenumber="3392"><td class="num" id="LN3392">3392</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3393"><td class="num" id="LN3393">3393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3394"><td class="num" id="LN3394">3394</td><td class="line"> gtk_style_context_restore (context);</td></tr>
+<tr class="codeline" data-linenumber="3395"><td class="num" id="LN3395">3395</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3396"><td class="num" id="LN3396">3396</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="3397"><td class="num" id="LN3397">3397</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3398"><td class="num" id="LN3398">3398</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3399"><td class="num" id="LN3399">3399</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3400"><td class="num" id="LN3400">3400</td><td class="line">panel_toplevel_button_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3401"><td class="num" id="LN3401">3401</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3402"><td class="num" id="LN3402">3402</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3403"><td class="num" id="LN3403">3403</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3404"><td class="num" id="LN3404">3404</td><td class="line"> GtkWidget *event_widget;</td></tr>
+<tr class="codeline" data-linenumber="3405"><td class="num" id="LN3405">3405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3406"><td class="num" id="LN3406">3406</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3407"><td class="num" id="LN3407">3407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3408"><td class="num" id="LN3408">3408</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3409"><td class="num" id="LN3409">3409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3410"><td class="num" id="LN3410">3410</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3411"><td class="num" id="LN3411">3411</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3412"><td class="num" id="LN3412">3412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3413"><td class="num" id="LN3413">3413</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3414"><td class="num" id="LN3414">3414</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3415"><td class="num" id="LN3415">3415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3416"><td class="num" id="LN3416">3416</td><td class="line"> <span class='comment'>/* Get the mouse-button modifier from marco so that only intentional</span></td></tr>
+<tr class="codeline" data-linenumber="3417"><td class="num" id="LN3417">3417</td><td class="line"> <span class='comment'>* moves are considered. We don't this for non-expanded panels since we</span></td></tr>
+<tr class="codeline" data-linenumber="3418"><td class="num" id="LN3418">3418</td><td class="line"> <span class='comment'>* only have the handles that the user can grab. */</span></td></tr>
+<tr class="codeline" data-linenumber="3419"><td class="num" id="LN3419">3419</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;expand || toplevel-&gt;priv-&gt;attached) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3420"><td class="num" id="LN3420">3420</td><td class="line"> (event-&gt;state &amp; GDK_MODIFIER_MASK) != panel_bindings_get_mouse_button_modifier_keymask ())</td></tr>
+<tr class="codeline" data-linenumber="3421"><td class="num" id="LN3421">3421</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3422"><td class="num" id="LN3422">3422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3423"><td class="num" id="LN3423">3423</td><td class="line"> gdk_window_get_user_data (event-&gt;window, (gpointer)&amp;event_widget);</td></tr>
+<tr class="codeline" data-linenumber="3424"><td class="num" id="LN3424">3424</td><td class="line"> <span class='macro'>g_assert (GTK_IS_WIDGET (event_widget))<span class='macro_popup'>do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((event_widget)); GType __t = ((gtk_widget_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 3424<br>, ((const char*) (__func__)), "GTK_IS_WIDGET (event_widget)")<br>; } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3425"><td class="num" id="LN3425">3425</td><td class="line"> gtk_widget_translate_coordinates (event_widget,</td></tr>
+<tr class="codeline" data-linenumber="3426"><td class="num" id="LN3426">3426</td><td class="line"> widget,</td></tr>
+<tr class="codeline" data-linenumber="3427"><td class="num" id="LN3427">3427</td><td class="line"> event-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="3428"><td class="num" id="LN3428">3428</td><td class="line"> event-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="3429"><td class="num" id="LN3429">3429</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_x,</td></tr>
+<tr class="codeline" data-linenumber="3430"><td class="num" id="LN3430">3430</td><td class="line"> &amp;toplevel-&gt;priv-&gt;drag_offset_y);</td></tr>
+<tr class="codeline" data-linenumber="3431"><td class="num" id="LN3431">3431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3432"><td class="num" id="LN3432">3432</td><td class="line"> panel_toplevel_begin_grab_op (toplevel, PANEL_GRAB_OP_MOVE, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3433"><td class="num" id="LN3433">3433</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3434"><td class="num" id="LN3434">3434</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3435"><td class="num" id="LN3435">3435</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3436"><td class="num" id="LN3436">3436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3437"><td class="num" id="LN3437">3437</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3438"><td class="num" id="LN3438">3438</td><td class="line">panel_toplevel_button_release_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3439"><td class="num" id="LN3439">3439</td><td class="line"> GdkEventButton *event)</td></tr>
+<tr class="codeline" data-linenumber="3440"><td class="num" id="LN3440">3440</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3441"><td class="num" id="LN3441">3441</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3442"><td class="num" id="LN3442">3442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3443"><td class="num" id="LN3443">3443</td><td class="line"> <span class='keyword'>if</span> (event-&gt;button != 1 &amp;&amp; event-&gt;button != 2)</td></tr>
+<tr class="codeline" data-linenumber="3444"><td class="num" id="LN3444">3444</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3445"><td class="num" id="LN3445">3445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3446"><td class="num" id="LN3446">3446</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3447"><td class="num" id="LN3447">3447</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3448"><td class="num" id="LN3448">3448</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op == PANEL_GRAB_OP_NONE)</td></tr>
+<tr class="codeline" data-linenumber="3449"><td class="num" id="LN3449">3449</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3450"><td class="num" id="LN3450">3450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3451"><td class="num" id="LN3451">3451</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_is_keyboard)</td></tr>
+<tr class="codeline" data-linenumber="3452"><td class="num" id="LN3452">3452</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3453"><td class="num" id="LN3453">3453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3454"><td class="num" id="LN3454">3454</td><td class="line"> panel_toplevel_end_grab_op (toplevel, event-&gt;time);</td></tr>
+<tr class="codeline" data-linenumber="3455"><td class="num" id="LN3455">3455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3456"><td class="num" id="LN3456">3456</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3457"><td class="num" id="LN3457">3457</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3458"><td class="num" id="LN3458">3458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3459"><td class="num" id="LN3459">3459</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3460"><td class="num" id="LN3460">3460</td><td class="line">panel_toplevel_configure_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3461"><td class="num" id="LN3461">3461</td><td class="line"> GdkEventConfigure *event)</td></tr>
+<tr class="codeline" data-linenumber="3462"><td class="num" id="LN3462">3462</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3463"><td class="num" id="LN3463">3463</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3464"><td class="num" id="LN3464">3464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3465"><td class="num" id="LN3465">3465</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3466"><td class="num" id="LN3466">3466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3467"><td class="num" id="LN3467">3467</td><td class="line"> set_background_region (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3468"><td class="num" id="LN3468">3468</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3469"><td class="num" id="LN3469">3469</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3470"><td class="num" id="LN3470">3470</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3471"><td class="num" id="LN3471">3471</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3472"><td class="num" id="LN3472">3472</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3473"><td class="num" id="LN3473">3473</td><td class="line">panel_toplevel_key_press_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3474"><td class="num" id="LN3474">3474</td><td class="line"> GdkEventKey *event)</td></tr>
+<tr class="codeline" data-linenumber="3475"><td class="num" id="LN3475">3475</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3476"><td class="num" id="LN3476">3476</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) widget;</td></tr>
+<tr class="codeline" data-linenumber="3477"><td class="num" id="LN3477">3477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3478"><td class="num" id="LN3478">3478</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;grab_op != PANEL_GRAB_OP_NONE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3479"><td class="num" id="LN3479">3479</td><td class="line"> panel_toplevel_handle_grab_op_key_event (toplevel, event))</td></tr>
+<tr class="codeline" data-linenumber="3480"><td class="num" id="LN3480">3480</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3481"><td class="num" id="LN3481">3481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3482"><td class="num" id="LN3482">3482</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event)</td></tr>
+<tr class="codeline" data-linenumber="3483"><td class="num" id="LN3483">3483</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;key_press_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3484"><td class="num" id="LN3484">3484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3485"><td class="num" id="LN3485">3485</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3486"><td class="num" id="LN3486">3486</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3487"><td class="num" id="LN3487">3487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3488"><td class="num" id="LN3488">3488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3489"><td class="num" id="LN3489">3489</td><td class="line">panel_toplevel_state_flags_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3490"><td class="num" id="LN3490">3490</td><td class="line"> GtkStateFlags previous_state)</td></tr>
+<tr class="codeline" data-linenumber="3491"><td class="num" id="LN3491">3491</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3492"><td class="num" id="LN3492">3492</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;state_flags_changed (widget,</td></tr>
+<tr class="codeline" data-linenumber="3493"><td class="num" id="LN3493">3493</td><td class="line"> previous_state);</td></tr>
+<tr class="codeline" data-linenumber="3494"><td class="num" id="LN3494">3494</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3495"><td class="num" id="LN3495">3495</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3496"><td class="num" id="LN3496">3496</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3497"><td class="num" id="LN3497">3497</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3498"><td class="num" id="LN3498">3498</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3499"><td class="num" id="LN3499">3499</td><td class="line">panel_toplevel_motion_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3500"><td class="num" id="LN3500">3500</td><td class="line"> GdkEventMotion *event)</td></tr>
+<tr class="codeline" data-linenumber="3501"><td class="num" id="LN3501">3501</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3502"><td class="num" id="LN3502">3502</td><td class="line"> <span class='keyword'>if</span> (gdk_event_get_screen ((GdkEvent *)event) ==</td></tr>
+<tr class="codeline" data-linenumber="3503"><td class="num" id="LN3503">3503</td><td class="line"> gtk_window_get_screen (<span class='macro'>GTK_WINDOW (widget)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((gtk_window_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3504"><td class="num" id="LN3504">3504</td><td class="line"> <span class='keyword'>return</span> panel_toplevel_handle_grab_op_motion_event (</td></tr>
+<tr class="codeline" data-linenumber="3505"><td class="num" id="LN3505">3505</td><td class="line"> <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>, event);</td></tr>
+<tr class="codeline" data-linenumber="3506"><td class="num" id="LN3506">3506</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3507"><td class="num" id="LN3507">3507</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3508"><td class="num" id="LN3508">3508</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3509"><td class="num" id="LN3509">3509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3510"><td class="num" id="LN3510">3510</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3511"><td class="num" id="LN3511">3511</td><td class="line">panel_toplevel_animation_timeout (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3512"><td class="num" id="LN3512">3512</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3513"><td class="num" id="LN3513">3513</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3514"><td class="num" id="LN3514">3514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3515"><td class="num" id="LN3515">3515</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animating) {</td></tr>
+<tr class="codeline" data-linenumber="3516"><td class="num" id="LN3516">3516</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3517"><td class="num" id="LN3517">3517</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3518"><td class="num" id="LN3518">3518</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3519"><td class="num" id="LN3519">3519</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3520"><td class="num" id="LN3520">3520</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3521"><td class="num" id="LN3521">3521</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0xdead;</td></tr>
+<tr class="codeline" data-linenumber="3522"><td class="num" id="LN3522">3522</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3523"><td class="num" id="LN3523">3523</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3524"><td class="num" id="LN3524">3524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3525"><td class="num" id="LN3525">3525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3526"><td class="num" id="LN3526">3526</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animating;</td></tr>
+<tr class="codeline" data-linenumber="3527"><td class="num" id="LN3527">3527</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3528"><td class="num" id="LN3528">3528</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3529"><td class="num" id="LN3529">3529</td><td class="line"><span class='keyword'>static</span> GTimeSpan</td></tr>
+<tr class="codeline" data-linenumber="3530"><td class="num" id="LN3530">3530</td><td class="line">panel_toplevel_get_animation_time (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3531"><td class="num" id="LN3531">3531</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3532"><td class="num" id="LN3532">3532</td><td class="line"> <span class='comment'>/* The number of seconds to complete the animation.</span></td></tr>
+<tr class="codeline" data-linenumber="3533"><td class="num" id="LN3533">3533</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3534"><td class="num" id="LN3534">3534</td><td class="line"><span class='directive'>#define ANIMATION_TIME_FAST 400</span></td></tr>
+<tr class="codeline" data-linenumber="3535"><td class="num" id="LN3535">3535</td><td class="line"><span class='directive'>#define ANIMATION_TIME_MEDIUM 1200</span></td></tr>
+<tr class="codeline" data-linenumber="3536"><td class="num" id="LN3536">3536</td><td class="line"><span class='directive'>#define ANIMATION_TIME_SLOW 2000</span></td></tr>
+<tr class="codeline" data-linenumber="3537"><td class="num" id="LN3537">3537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3538"><td class="num" id="LN3538">3538</td><td class="line"> GTimeSpan t;</td></tr>
+<tr class="codeline" data-linenumber="3539"><td class="num" id="LN3539">3539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3540"><td class="num" id="LN3540">3540</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;animation_speed) {</td></tr>
+<tr class="codeline" data-linenumber="3541"><td class="num" id="LN3541">3541</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_SLOW:</td></tr>
+<tr class="codeline" data-linenumber="3542"><td class="num" id="LN3542">3542</td><td class="line"> t = ANIMATION_TIME_SLOW * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3543"><td class="num" id="LN3543">3543</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3544"><td class="num" id="LN3544">3544</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_MEDIUM:</td></tr>
+<tr class="codeline" data-linenumber="3545"><td class="num" id="LN3545">3545</td><td class="line"> t = ANIMATION_TIME_MEDIUM * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3546"><td class="num" id="LN3546">3546</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3547"><td class="num" id="LN3547">3547</td><td class="line"> <span class='keyword'>case</span> PANEL_ANIMATION_FAST:</td></tr>
+<tr class="codeline" data-linenumber="3548"><td class="num" id="LN3548">3548</td><td class="line"> t = ANIMATION_TIME_FAST * <span class='macro'>G_TIME_SPAN_MILLISECOND<span class='macro_popup'>((1000L))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3549"><td class="num" id="LN3549">3549</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3550"><td class="num" id="LN3550">3550</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3551"><td class="num" id="LN3551">3551</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3551, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3552"><td class="num" id="LN3552">3552</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3553"><td class="num" id="LN3553">3553</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3554"><td class="num" id="LN3554">3554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3555"><td class="num" id="LN3555">3555</td><td class="line"> <span class='keyword'>return</span> t;</td></tr>
+<tr class="codeline" data-linenumber="3556"><td class="num" id="LN3556">3556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3557"><td class="num" id="LN3557">3557</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_FAST</span></td></tr>
+<tr class="codeline" data-linenumber="3558"><td class="num" id="LN3558">3558</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_MEDIUM</span></td></tr>
+<tr class="codeline" data-linenumber="3559"><td class="num" id="LN3559">3559</td><td class="line"><span class='directive'>#undef ANIMATION_TIME_SLOW</span></td></tr>
+<tr class="codeline" data-linenumber="3560"><td class="num" id="LN3560">3560</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3561"><td class="num" id="LN3561">3561</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3562"><td class="num" id="LN3562">3562</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3563"><td class="num" id="LN3563">3563</td><td class="line">panel_toplevel_calculate_animation_end_geometry (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3564"><td class="num" id="LN3564">3564</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3565"><td class="num" id="LN3565">3565</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="3566"><td class="num" id="LN3566">3566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3567"><td class="num" id="LN3567">3567</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="3568"><td class="num" id="LN3568">3568</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="3569"><td class="num" id="LN3569">3569</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3570"><td class="num" id="LN3570">3570</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3571"><td class="num" id="LN3571">3571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3572"><td class="num" id="LN3572">3572</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="3573"><td class="num" id="LN3573">3573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3574"><td class="num" id="LN3574">3574</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand) {</td></tr>
+<tr class="codeline" data-linenumber="3575"><td class="num" id="LN3575">3575</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3576"><td class="num" id="LN3576">3576</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered)</td></tr>
+<tr class="codeline" data-linenumber="3577"><td class="num" id="LN3577">3577</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x =</td></tr>
+<tr class="codeline" data-linenumber="3578"><td class="num" id="LN3578">3578</td><td class="line"> (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3579"><td class="num" id="LN3579">3579</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered)</td></tr>
+<tr class="codeline" data-linenumber="3580"><td class="num" id="LN3580">3580</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y =</td></tr>
+<tr class="codeline" data-linenumber="3581"><td class="num" id="LN3581">3581</td><td class="line"> (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="3582"><td class="num" id="LN3582">3582</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3583"><td class="num" id="LN3583">3583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3584"><td class="num" id="LN3584">3584</td><td class="line"> <span class='comment'>/* we consider the toplevels which are in the initial animation stage</span></td></tr>
+<tr class="codeline" data-linenumber="3585"><td class="num" id="LN3585">3585</td><td class="line"> <span class='comment'>* as in a normal state */</span></td></tr>
+<tr class="codeline" data-linenumber="3586"><td class="num" id="LN3586">3586</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL ||</td></tr>
+<tr class="codeline" data-linenumber="3587"><td class="num" id="LN3587">3587</td><td class="line"> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3588"><td class="num" id="LN3588">3588</td><td class="line"> !toplevel-&gt;priv-&gt;auto_hide))</td></tr>
+<tr class="codeline" data-linenumber="3589"><td class="num" id="LN3589">3589</td><td class="line"> panel_toplevel_update_normal_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3590"><td class="num" id="LN3590">3590</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3591"><td class="num" id="LN3591">3591</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3592"><td class="num" id="LN3592">3592</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3593"><td class="num" id="LN3593">3593</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3594"><td class="num" id="LN3594">3594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3595"><td class="num" id="LN3595">3595</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3596"><td class="num" id="LN3596">3596</td><td class="line"> panel_toplevel_update_auto_hide_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3597"><td class="num" id="LN3597">3597</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3598"><td class="num" id="LN3598">3598</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3599"><td class="num" id="LN3599">3599</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3600"><td class="num" id="LN3600">3600</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height,</td></tr>
+<tr class="codeline" data-linenumber="3601"><td class="num" id="LN3601">3601</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3602"><td class="num" id="LN3602">3602</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3603"><td class="num" id="LN3603">3603</td><td class="line"> panel_toplevel_update_hidden_position (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3604"><td class="num" id="LN3604">3604</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3605"><td class="num" id="LN3605">3605</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3606"><td class="num" id="LN3606">3606</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3607"><td class="num" id="LN3607">3607</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3608"><td class="num" id="LN3608">3608</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3609"><td class="num" id="LN3609">3609</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3610"><td class="num" id="LN3610">3610</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3611"><td class="num" id="LN3611">3611</td><td class="line">panel_toplevel_start_animation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3612"><td class="num" id="LN3612">3612</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3613"><td class="num" id="LN3613">3613</td><td class="line"> GtkRequisition requisition;</td></tr>
+<tr class="codeline" data-linenumber="3614"><td class="num" id="LN3614">3614</td><td class="line"> <span class='keyword'>int</span> deltax, deltay, deltaw = 0, deltah = 0;</td></tr>
+<tr class="codeline" data-linenumber="3615"><td class="num" id="LN3615">3615</td><td class="line"> <span class='keyword'>int</span> cur_x = -1, cur_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3616"><td class="num" id="LN3616">3616</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3617"><td class="num" id="LN3617">3617</td><td class="line"> panel_toplevel_calculate_animation_end_geometry (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3618"><td class="num" id="LN3618">3618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3619"><td class="num" id="LN3619">3619</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3620"><td class="num" id="LN3620">3620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3621"><td class="num" id="LN3621">3621</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3622"><td class="num" id="LN3622">3622</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="3623"><td class="num" id="LN3623">3623</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="3624"><td class="num" id="LN3624">3624</td><td class="line"> panel_struts_update_toplevel_geometry (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3625"><td class="num" id="LN3625">3625</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_x,</td></tr>
+<tr class="codeline" data-linenumber="3626"><td class="num" id="LN3626">3626</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_y,</td></tr>
+<tr class="codeline" data-linenumber="3627"><td class="num" id="LN3627">3627</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_width,</td></tr>
+<tr class="codeline" data-linenumber="3628"><td class="num" id="LN3628">3628</td><td class="line"> &amp;toplevel-&gt;priv-&gt;animation_end_height);</td></tr>
+<tr class="codeline" data-linenumber="3629"><td class="num" id="LN3629">3629</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3630"><td class="num" id="LN3630">3630</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="3631"><td class="num" id="LN3631">3631</td><td class="line"> panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3632"><td class="num" id="LN3632">3632</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3633"><td class="num" id="LN3633">3633</td><td class="line"> gdk_window_get_origin (gtk_widget_get_window (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>), &amp;cur_x, &amp;cur_y);</td></tr>
+<tr class="codeline" data-linenumber="3634"><td class="num" id="LN3634">3634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3635"><td class="num" id="LN3635">3635</td><td class="line"> cur_x -= panel_multimonitor_x (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3636"><td class="num" id="LN3636">3636</td><td class="line"> cur_y -= panel_multimonitor_y (toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="3637"><td class="num" id="LN3637">3637</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3638"><td class="num" id="LN3638">3638</td><td class="line"> deltax = toplevel-&gt;priv-&gt;animation_end_x - cur_x;</td></tr>
+<tr class="codeline" data-linenumber="3639"><td class="num" id="LN3639">3639</td><td class="line"> deltay = toplevel-&gt;priv-&gt;animation_end_y - cur_y;</td></tr>
+<tr class="codeline" data-linenumber="3640"><td class="num" id="LN3640">3640</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3641"><td class="num" id="LN3641">3641</td><td class="line"> gtk_widget_get_preferred_size (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, &amp;requisition, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3642"><td class="num" id="LN3642">3642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3643"><td class="num" id="LN3643">3643</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_width != -1)</td></tr>
+<tr class="codeline" data-linenumber="3644"><td class="num" id="LN3644">3644</td><td class="line"> deltaw = toplevel-&gt;priv-&gt;animation_end_width - requisition.width;</td></tr>
+<tr class="codeline" data-linenumber="3645"><td class="num" id="LN3645">3645</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3646"><td class="num" id="LN3646">3646</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_end_height != -1)</td></tr>
+<tr class="codeline" data-linenumber="3647"><td class="num" id="LN3647">3647</td><td class="line"> deltah = toplevel-&gt;priv-&gt;animation_end_height - requisition.height;</td></tr>
+<tr class="codeline" data-linenumber="3648"><td class="num" id="LN3648">3648</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3649"><td class="num" id="LN3649">3649</td><td class="line"> <span class='keyword'>if</span> (deltax == 0 &amp;&amp; deltay == 0 &amp;&amp; deltaw == 0 &amp;&amp; deltah == 0) {</td></tr>
+<tr class="codeline" data-linenumber="3650"><td class="num" id="LN3650">3650</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = -1;</td></tr>
+<tr class="codeline" data-linenumber="3651"><td class="num" id="LN3651">3651</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = -1;</td></tr>
+<tr class="codeline" data-linenumber="3652"><td class="num" id="LN3652">3652</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="3653"><td class="num" id="LN3653">3653</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="3654"><td class="num" id="LN3654">3654</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3655"><td class="num" id="LN3655">3655</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3656"><td class="num" id="LN3656">3656</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3657"><td class="num" id="LN3657">3657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3658"><td class="num" id="LN3658">3658</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3659"><td class="num" id="LN3659">3659</td><td class="line"> <span class='comment'>/* Re-map unmapped attached toplevels */</span></td></tr>
+<tr class="codeline" data-linenumber="3660"><td class="num" id="LN3660">3660</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3661"><td class="num" id="LN3661">3661</td><td class="line"> gtk_widget_set_visible (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3662"><td class="num" id="LN3662">3662</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3663"><td class="num" id="LN3663">3663</td><td class="line"> <span class='keyword'>if</span> (!gtk_widget_get_mapped (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="3664"><td class="num" id="LN3664">3664</td><td class="line"> gtk_widget_map (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3665"><td class="num" id="LN3665">3665</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3666"><td class="num" id="LN3666">3666</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (toplevel-&gt;priv-&gt;attach_toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;attach_toplevel)), ((gtk_window_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3667"><td class="num" id="LN3667">3667</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3668"><td class="num" id="LN3668">3668</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3669"><td class="num" id="LN3669">3669</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = g_get_monotonic_time ();</td></tr>
+<tr class="codeline" data-linenumber="3670"><td class="num" id="LN3670">3670</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = panel_toplevel_get_animation_time (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3671"><td class="num" id="LN3671">3671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3672"><td class="num" id="LN3672">3672</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animation_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3673"><td class="num" id="LN3673">3673</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3674"><td class="num" id="LN3674">3674</td><td class="line"> g_timeout_add (20, (GSourceFunc) panel_toplevel_animation_timeout, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3675"><td class="num" id="LN3675">3675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3676"><td class="num" id="LN3676">3676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3677"><td class="num" id="LN3677">3677</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3678"><td class="num" id="LN3678">3678</td><td class="line">panel_toplevel_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="3679"><td class="num" id="LN3679">3679</td><td class="line"> gboolean auto_hide,</td></tr>
+<tr class="codeline" data-linenumber="3680"><td class="num" id="LN3680">3680</td><td class="line"> gint direction)</td></tr>
+<tr class="codeline" data-linenumber="3681"><td class="num" id="LN3681">3681</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3682"><td class="num" id="LN3682">3682</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3683"><td class="num" id="LN3683">3683</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3684"><td class="num" id="LN3684">3684</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3685"><td class="num" id="LN3685">3685</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3686"><td class="num" id="LN3686">3686</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3687"><td class="num" id="LN3687">3687</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [HIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3688"><td class="num" id="LN3688">3688</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3689"><td class="num" id="LN3689">3689</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3690"><td class="num" id="LN3690">3690</td><td class="line"> panel_toplevel_pop_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3691"><td class="num" id="LN3691">3691</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3692"><td class="num" id="LN3692">3692</td><td class="line"> <span class='keyword'>if</span> (auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3693"><td class="num" id="LN3693">3693</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_AUTO_HIDDEN;</td></tr>
+<tr class="codeline" data-linenumber="3694"><td class="num" id="LN3694">3694</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3695"><td class="num" id="LN3695">3695</td><td class="line"> GtkDirectionType hide_direction;</td></tr>
+<tr class="codeline" data-linenumber="3696"><td class="num" id="LN3696">3696</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3697"><td class="num" id="LN3697">3697</td><td class="line"> <span class='keyword'>if</span> (direction == -1) {</td></tr>
+<tr class="codeline" data-linenumber="3698"><td class="num" id="LN3698">3698</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="3699"><td class="num" id="LN3699">3699</td><td class="line"> hide_direction = GTK_DIR_UP;</td></tr>
+<tr class="codeline" data-linenumber="3700"><td class="num" id="LN3700">3700</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3701"><td class="num" id="LN3701">3701</td><td class="line"> hide_direction = GTK_DIR_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3702"><td class="num" id="LN3702">3702</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="3703"><td class="num" id="LN3703">3703</td><td class="line"> hide_direction = (GtkDirectionType) direction;</td></tr>
+<tr class="codeline" data-linenumber="3704"><td class="num" id="LN3704">3704</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3705"><td class="num" id="LN3705">3705</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3706"><td class="num" id="LN3706">3706</td><td class="line"> <span class='keyword'>switch</span> (hide_direction) {</td></tr>
+<tr class="codeline" data-linenumber="3707"><td class="num" id="LN3707">3707</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_UP:</td></tr>
+<tr class="codeline" data-linenumber="3708"><td class="num" id="LN3708">3708</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3709"><td class="num" id="LN3709">3709</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="3710"><td class="num" id="LN3710">3710</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3711"><td class="num" id="LN3711">3711</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="3712"><td class="num" id="LN3712">3712</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_LEFT<br> | PANEL_ORIENTATION_RIGHT))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_VERTICAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3713"><td class="num" id="LN3713">3713</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="3714"><td class="num" id="LN3714">3714</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3715"><td class="num" id="LN3715">3715</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="3716"><td class="num" id="LN3716">3716</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3717"><td class="num" id="LN3717">3717</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="3718"><td class="num" id="LN3718">3718</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3719"><td class="num" id="LN3719">3719</td><td class="line"> <span class='keyword'>case</span> GTK_DIR_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="3720"><td class="num" id="LN3720">3720</td><td class="line"> <span class='macro'>g_return_if_fail (toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK)<span class='macro_popup'>do { if ((toplevel-&gt;priv-&gt;orientation &amp; (PANEL_ORIENTATION_TOP<br> | PANEL_ORIENTATION_BOTTOM))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "toplevel-&gt;priv-&gt;orientation &amp; PANEL_HORIZONTAL_MASK"<br>); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3721"><td class="num" id="LN3721">3721</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="3722"><td class="num" id="LN3722">3722</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3723"><td class="num" id="LN3723">3723</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="3724"><td class="num" id="LN3724">3724</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 3724, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3725"><td class="num" id="LN3725">3725</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="3726"><td class="num" id="LN3726">3726</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3727"><td class="num" id="LN3727">3727</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3728"><td class="num" id="LN3728">3728</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3729"><td class="num" id="LN3729">3729</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3730"><td class="num" id="LN3730">3730</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3731"><td class="num" id="LN3731">3731</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3732"><td class="num" id="LN3732">3732</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3733"><td class="num" id="LN3733">3733</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3734"><td class="num" id="LN3734">3734</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3735"><td class="num" id="LN3735">3735</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), hide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3736"><td class="num" id="LN3736">3736</td><td class="line"> <span class='comment'>* this hides the hide button properly as well */</span></td></tr>
+<tr class="codeline" data-linenumber="3737"><td class="num" id="LN3737">3737</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3738"><td class="num" id="LN3738">3738</td><td class="line"> gtk_widget_hide (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3739"><td class="num" id="LN3739">3739</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3740"><td class="num" id="LN3740">3740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3741"><td class="num" id="LN3741">3741</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3742"><td class="num" id="LN3742">3742</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3743"><td class="num" id="LN3743">3743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3744"><td class="num" id="LN3744">3744</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3745"><td class="num" id="LN3745">3745</td><td class="line">panel_toplevel_auto_hide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3746"><td class="num" id="LN3746">3746</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3747"><td class="num" id="LN3747">3747</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3748"><td class="num" id="LN3748">3748</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3749"><td class="num" id="LN3749">3749</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_get_autohide_disabled (toplevel)) {</td></tr>
+<tr class="codeline" data-linenumber="3750"><td class="num" id="LN3750">3750</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3751"><td class="num" id="LN3751">3751</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3752"><td class="num" id="LN3752">3752</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3753"><td class="num" id="LN3753">3753</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3754"><td class="num" id="LN3754">3754</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3755"><td class="num" id="LN3755">3755</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3756"><td class="num" id="LN3756">3756</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3757"><td class="num" id="LN3757">3757</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3758"><td class="num" id="LN3758">3758</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3759"><td class="num" id="LN3759">3759</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3760"><td class="num" id="LN3760">3760</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3761"><td class="num" id="LN3761">3761</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3762"><td class="num" id="LN3762">3762</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3763"><td class="num" id="LN3763">3763</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3764"><td class="num" id="LN3764">3764</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3765"><td class="num" id="LN3765">3765</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3766"><td class="num" id="LN3766">3766</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3767"><td class="num" id="LN3767">3767</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3768"><td class="num" id="LN3768">3768</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3769"><td class="num" id="LN3769">3769</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3770"><td class="num" id="LN3770">3770</td><td class="line">panel_toplevel_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3771"><td class="num" id="LN3771">3771</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3772"><td class="num" id="LN3772">3772</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3773"><td class="num" id="LN3773">3773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3774"><td class="num" id="LN3774">3774</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3775"><td class="num" id="LN3775">3775</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3776"><td class="num" id="LN3776">3776</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3777"><td class="num" id="LN3777">3777</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="3778"><td class="num" id="LN3778">3778</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3779"><td class="num" id="LN3779">3779</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3780"><td class="num" id="LN3780">3780</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3781"><td class="num" id="LN3781">3781</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attach_toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3782"><td class="num" id="LN3782">3782</td><td class="line"> panel_toplevel_push_autohide_disabler (toplevel-&gt;priv-&gt;attach_toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3783"><td class="num" id="LN3783">3783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3784"><td class="num" id="LN3784">3784</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate &amp;&amp; gtk_widget_get_realized (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="3785"><td class="num" id="LN3785">3785</td><td class="line"> panel_toplevel_start_animation (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3786"><td class="num" id="LN3786">3786</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3787"><td class="num" id="LN3787">3787</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3788"><td class="num" id="LN3788">3788</td><td class="line"> <span class='comment'>/* if the toplevel is attached (-&gt; drawer), unhide it after the animation</span></td></tr>
+<tr class="codeline" data-linenumber="3789"><td class="num" id="LN3789">3789</td><td class="line"> <span class='comment'>* (same as for hide) */</span></td></tr>
+<tr class="codeline" data-linenumber="3790"><td class="num" id="LN3790">3790</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached) {</td></tr>
+<tr class="codeline" data-linenumber="3791"><td class="num" id="LN3791">3791</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3792"><td class="num" id="LN3792">3792</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3793"><td class="num" id="LN3793">3793</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3794"><td class="num" id="LN3794">3794</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3795"><td class="num" id="LN3795">3795</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3796"><td class="num" id="LN3796">3796</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3797"><td class="num" id="LN3797">3797</td><td class="line"> g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);</td></tr>
+<tr class="codeline" data-linenumber="3798"><td class="num" id="LN3798">3798</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3799"><td class="num" id="LN3799">3799</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3800"><td class="num" id="LN3800">3800</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3801"><td class="num" id="LN3801">3801</td><td class="line">panel_toplevel_auto_unhide_timeout_handler (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3802"><td class="num" id="LN3802">3802</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3803"><td class="num" id="LN3803">3803</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3804"><td class="num" id="LN3804">3804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3805"><td class="num" id="LN3805">3805</td><td class="line"> <span class='comment'>/* keep coming back until the animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3806"><td class="num" id="LN3806">3806</td><td class="line"> <span class='comment'>* FIXME: we should really remove the timeout/idle</span></td></tr>
+<tr class="codeline" data-linenumber="3807"><td class="num" id="LN3807">3807</td><td class="line"> <span class='comment'>* completely and re-instate it when the</span></td></tr>
+<tr class="codeline" data-linenumber="3808"><td class="num" id="LN3808">3808</td><td class="line"> <span class='comment'>* animation has finished.</span></td></tr>
+<tr class="codeline" data-linenumber="3809"><td class="num" id="LN3809">3809</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="3810"><td class="num" id="LN3810">3810</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animating)</td></tr>
+<tr class="codeline" data-linenumber="3811"><td class="num" id="LN3811">3811</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3812"><td class="num" id="LN3812">3812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3813"><td class="num" id="LN3813">3813</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;animate)</td></tr>
+<tr class="codeline" data-linenumber="3814"><td class="num" id="LN3814">3814</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3815"><td class="num" id="LN3815">3815</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3816"><td class="num" id="LN3816">3816</td><td class="line"> <span class='comment'>/* initial animation for auto-hidden panels: we need to unhide and hide</span></td></tr>
+<tr class="codeline" data-linenumber="3817"><td class="num" id="LN3817">3817</td><td class="line"> <span class='comment'>* again to get at the right size */</span></td></tr>
+<tr class="codeline" data-linenumber="3818"><td class="num" id="LN3818">3818</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;initial_animation_done &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3819"><td class="num" id="LN3819">3819</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3820"><td class="num" id="LN3820">3820</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3821"><td class="num" id="LN3821">3821</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3822"><td class="num" id="LN3822">3822</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="3823"><td class="num" id="LN3823">3823</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3824"><td class="num" id="LN3824">3824</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3825"><td class="num" id="LN3825">3825</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3826"><td class="num" id="LN3826">3826</td><td class="line"> <span class='keyword'>if</span> (!panel_toplevel_contains_pointer (toplevel) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="3827"><td class="num" id="LN3827">3827</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide) {</td></tr>
+<tr class="codeline" data-linenumber="3828"><td class="num" id="LN3828">3828</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3829"><td class="num" id="LN3829">3829</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3830"><td class="num" id="LN3830">3830</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="3831"><td class="num" id="LN3831">3831</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3832"><td class="num" id="LN3832">3832</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3833"><td class="num" id="LN3833">3833</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3834"><td class="num" id="LN3834">3834</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3835"><td class="num" id="LN3835">3835</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3836"><td class="num" id="LN3836">3836</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3837"><td class="num" id="LN3837">3837</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3838"><td class="num" id="LN3838">3838</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3839"><td class="num" id="LN3839">3839</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3840"><td class="num" id="LN3840">3840</td><td class="line">panel_toplevel_queue_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3841"><td class="num" id="LN3841">3841</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3842"><td class="num" id="LN3842">3842</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3843"><td class="num" id="LN3843">3843</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3844"><td class="num" id="LN3844">3844</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;auto_hide ||</td></tr>
+<tr class="codeline" data-linenumber="3845"><td class="num" id="LN3845">3845</td><td class="line"> panel_toplevel_contains_pointer (toplevel) ||</td></tr>
+<tr class="codeline" data-linenumber="3846"><td class="num" id="LN3846">3846</td><td class="line"> panel_toplevel_get_autohide_disabled (toplevel))</td></tr>
+<tr class="codeline" data-linenumber="3847"><td class="num" id="LN3847">3847</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3848"><td class="num" id="LN3848">3848</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3849"><td class="num" id="LN3849">3849</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3850"><td class="num" id="LN3850">3850</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;unhide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3851"><td class="num" id="LN3851">3851</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3852"><td class="num" id="LN3852">3852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3853"><td class="num" id="LN3853">3853</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout ||</td></tr>
+<tr class="codeline" data-linenumber="3854"><td class="num" id="LN3854">3854</td><td class="line"> toplevel-&gt;priv-&gt;state != PANEL_STATE_NORMAL)</td></tr>
+<tr class="codeline" data-linenumber="3855"><td class="num" id="LN3855">3855</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3856"><td class="num" id="LN3856">3856</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3857"><td class="num" id="LN3857">3857</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3858"><td class="num" id="LN3858">3858</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3859"><td class="num" id="LN3859">3859</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;hide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3860"><td class="num" id="LN3860">3860</td><td class="line"> (GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3861"><td class="num" id="LN3861">3861</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3862"><td class="num" id="LN3862">3862</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3863"><td class="num" id="LN3863">3863</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3864"><td class="num" id="LN3864">3864</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_hide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3865"><td class="num" id="LN3865">3865</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3866"><td class="num" id="LN3866">3866</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3867"><td class="num" id="LN3867">3867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3868"><td class="num" id="LN3868">3868</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3869"><td class="num" id="LN3869">3869</td><td class="line">panel_toplevel_queue_auto_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3870"><td class="num" id="LN3870">3870</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3871"><td class="num" id="LN3871">3871</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3872"><td class="num" id="LN3872">3872</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3873"><td class="num" id="LN3873">3873</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3874"><td class="num" id="LN3874">3874</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3875"><td class="num" id="LN3875">3875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3876"><td class="num" id="LN3876">3876</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3877"><td class="num" id="LN3877">3877</td><td class="line"> g_source_remove (toplevel-&gt;priv-&gt;hide_timeout);</td></tr>
+<tr class="codeline" data-linenumber="3878"><td class="num" id="LN3878">3878</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="3879"><td class="num" id="LN3879">3879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3880"><td class="num" id="LN3880">3880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state != PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3881"><td class="num" id="LN3881">3881</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3882"><td class="num" id="LN3882">3882</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3883"><td class="num" id="LN3883">3883</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="3884"><td class="num" id="LN3884">3884</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3885"><td class="num" id="LN3885">3885</td><td class="line"> g_timeout_add (toplevel-&gt;priv-&gt;unhide_delay,</td></tr>
+<tr class="codeline" data-linenumber="3886"><td class="num" id="LN3886">3886</td><td class="line"> (GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3887"><td class="num" id="LN3887">3887</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3888"><td class="num" id="LN3888">3888</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="3889"><td class="num" id="LN3889">3889</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3890"><td class="num" id="LN3890">3890</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3891"><td class="num" id="LN3891">3891</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3892"><td class="num" id="LN3892">3892</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3893"><td class="num" id="LN3893">3893</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3894"><td class="num" id="LN3894">3894</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3895"><td class="num" id="LN3895">3895</td><td class="line">panel_toplevel_queue_initial_unhide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3896"><td class="num" id="LN3896">3896</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3897"><td class="num" id="LN3897">3897</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3898"><td class="num" id="LN3898">3898</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3899"><td class="num" id="LN3899">3899</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;initial_animation_done)</td></tr>
+<tr class="codeline" data-linenumber="3900"><td class="num" id="LN3900">3900</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3901"><td class="num" id="LN3901">3901</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3902"><td class="num" id="LN3902">3902</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_timeout)</td></tr>
+<tr class="codeline" data-linenumber="3903"><td class="num" id="LN3903">3903</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="3904"><td class="num" id="LN3904">3904</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3905"><td class="num" id="LN3905">3905</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout =</td></tr>
+<tr class="codeline" data-linenumber="3906"><td class="num" id="LN3906">3906</td><td class="line"> g_idle_add ((GSourceFunc) panel_toplevel_auto_unhide_timeout_handler,</td></tr>
+<tr class="codeline" data-linenumber="3907"><td class="num" id="LN3907">3907</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3908"><td class="num" id="LN3908">3908</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3909"><td class="num" id="LN3909">3909</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3910"><td class="num" id="LN3910">3910</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3911"><td class="num" id="LN3911">3911</td><td class="line">panel_toplevel_enter_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3912"><td class="num" id="LN3912">3912</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3913"><td class="num" id="LN3913">3913</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3914"><td class="num" id="LN3914">3914</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3915"><td class="num" id="LN3915">3915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3916"><td class="num" id="LN3916">3916</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3917"><td class="num" id="LN3917">3917</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3918"><td class="num" id="LN3918">3918</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3919"><td class="num" id="LN3919">3919</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3920"><td class="num" id="LN3920">3920</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3921"><td class="num" id="LN3921">3921</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3922"><td class="num" id="LN3922">3922</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3923"><td class="num" id="LN3923">3923</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3924"><td class="num" id="LN3924">3924</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;enter_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3925"><td class="num" id="LN3925">3925</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3926"><td class="num" id="LN3926">3926</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3927"><td class="num" id="LN3927">3927</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3928"><td class="num" id="LN3928">3928</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3929"><td class="num" id="LN3929">3929</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3930"><td class="num" id="LN3930">3930</td><td class="line">panel_toplevel_leave_notify_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3931"><td class="num" id="LN3931">3931</td><td class="line"> GdkEventCrossing *event)</td></tr>
+<tr class="codeline" data-linenumber="3932"><td class="num" id="LN3932">3932</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3933"><td class="num" id="LN3933">3933</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="3934"><td class="num" id="LN3934">3934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3935"><td class="num" id="LN3935">3935</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((widget)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (widget)"); return ((0)); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3936"><td class="num" id="LN3936">3936</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3937"><td class="num" id="LN3937">3937</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3938"><td class="num" id="LN3938">3938</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3939"><td class="num" id="LN3939">3939</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide &amp;&amp; event-&gt;detail != GDK_NOTIFY_INFERIOR)</td></tr>
+<tr class="codeline" data-linenumber="3940"><td class="num" id="LN3940">3940</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3941"><td class="num" id="LN3941">3941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3942"><td class="num" id="LN3942">3942</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event)</td></tr>
+<tr class="codeline" data-linenumber="3943"><td class="num" id="LN3943">3943</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;leave_notify_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3944"><td class="num" id="LN3944">3944</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3945"><td class="num" id="LN3945">3945</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3946"><td class="num" id="LN3946">3946</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3947"><td class="num" id="LN3947">3947</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3948"><td class="num" id="LN3948">3948</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3949"><td class="num" id="LN3949">3949</td><td class="line">panel_toplevel_focus_in_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3950"><td class="num" id="LN3950">3950</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3951"><td class="num" id="LN3951">3951</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3952"><td class="num" id="LN3952">3952</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3953"><td class="num" id="LN3953">3953</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3954"><td class="num" id="LN3954">3954</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN)</td></tr>
+<tr class="codeline" data-linenumber="3955"><td class="num" id="LN3955">3955</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3956"><td class="num" id="LN3956">3956</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3957"><td class="num" id="LN3957">3957</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event)</td></tr>
+<tr class="codeline" data-linenumber="3958"><td class="num" id="LN3958">3958</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_in_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3959"><td class="num" id="LN3959">3959</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3960"><td class="num" id="LN3960">3960</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3961"><td class="num" id="LN3961">3961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3962"><td class="num" id="LN3962">3962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3963"><td class="num" id="LN3963">3963</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="3964"><td class="num" id="LN3964">3964</td><td class="line">panel_toplevel_focus_out_event (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="3965"><td class="num" id="LN3965">3965</td><td class="line"> GdkEventFocus *event)</td></tr>
+<tr class="codeline" data-linenumber="3966"><td class="num" id="LN3966">3966</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3967"><td class="num" id="LN3967">3967</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3968"><td class="num" id="LN3968">3968</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3969"><td class="num" id="LN3969">3969</td><td class="line"> <span class='comment'>/* It appears that sometimes we don't get a leave notify event,</span></td></tr>
+<tr class="codeline" data-linenumber="3970"><td class="num" id="LN3970">3970</td><td class="line"> <span class='comment'>but just a focus in/out, so queue the autohide in that case.</span></td></tr>
+<tr class="codeline" data-linenumber="3971"><td class="num" id="LN3971">3971</td><td class="line"> <span class='comment'>If the pointer is inside the panel then obviously we won't hide */</span></td></tr>
+<tr class="codeline" data-linenumber="3972"><td class="num" id="LN3972">3972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="3973"><td class="num" id="LN3973">3973</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="3974"><td class="num" id="LN3974">3974</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3975"><td class="num" id="LN3975">3975</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event)</td></tr>
+<tr class="codeline" data-linenumber="3976"><td class="num" id="LN3976">3976</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;focus_out_event (widget, event);</td></tr>
+<tr class="codeline" data-linenumber="3977"><td class="num" id="LN3977">3977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3978"><td class="num" id="LN3978">3978</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="3979"><td class="num" id="LN3979">3979</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3980"><td class="num" id="LN3980">3980</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3981"><td class="num" id="LN3981">3981</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3982"><td class="num" id="LN3982">3982</td><td class="line">panel_toplevel_style_updated (GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="3983"><td class="num" id="LN3983">3983</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3984"><td class="num" id="LN3984">3984</td><td class="line"> panel_toplevel_update_hide_buttons (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="3985"><td class="num" id="LN3985">3985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3986"><td class="num" id="LN3986">3986</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated)</td></tr>
+<tr class="codeline" data-linenumber="3987"><td class="num" id="LN3987">3987</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;style_updated (widget);</td></tr>
+<tr class="codeline" data-linenumber="3988"><td class="num" id="LN3988">3988</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3989"><td class="num" id="LN3989">3989</td><td class="line"> set_background_default_style (widget);</td></tr>
+<tr class="codeline" data-linenumber="3990"><td class="num" id="LN3990">3990</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="3991"><td class="num" id="LN3991">3991</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3992"><td class="num" id="LN3992">3992</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="3993"><td class="num" id="LN3993">3993</td><td class="line">panel_toplevel_drag_threshold_changed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="3994"><td class="num" id="LN3994">3994</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="3995"><td class="num" id="LN3995">3995</td><td class="line"> <span class='keyword'>int</span> threshold;</td></tr>
+<tr class="codeline" data-linenumber="3996"><td class="num" id="LN3996">3996</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="3997"><td class="num" id="LN3997">3997</td><td class="line"> threshold = 0;</td></tr>
+<tr class="codeline" data-linenumber="3998"><td class="num" id="LN3998">3998</td><td class="line"> g_object_get (<span class='macro'>G_OBJECT (toplevel-&gt;priv-&gt;gtk_settings)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;gtk_settings)), (((GType) ((20) &lt;&lt;<br> (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="3999"><td class="num" id="LN3999">3999</td><td class="line"> <span class='string_literal'>"gtk-dnd-drag-threshold"</span>, &amp;threshold,</td></tr>
+<tr class="codeline" data-linenumber="4000"><td class="num" id="LN4000">4000</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4001"><td class="num" id="LN4001">4001</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4002"><td class="num" id="LN4002">4002</td><td class="line"> <span class='keyword'>if</span> (threshold)</td></tr>
+<tr class="codeline" data-linenumber="4003"><td class="num" id="LN4003">4003</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = threshold * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4004"><td class="num" id="LN4004">4004</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4005"><td class="num" id="LN4005">4005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4006"><td class="num" id="LN4006">4006</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4007"><td class="num" id="LN4007">4007</td><td class="line">panel_toplevel_update_gtk_settings (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4008"><td class="num" id="LN4008">4008</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4009"><td class="num" id="LN4009">4009</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;gtk_settings)</td></tr>
+<tr class="codeline" data-linenumber="4010"><td class="num" id="LN4010">4010</td><td class="line"> <span class='macro'>g_signal_handlers_disconnect_by_func (toplevel-&gt;priv-&gt;gtk_settings,<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4011"><td class="num" id="LN4011">4011</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span></td></tr>
+<tr class="codeline" data-linenumber="4012"><td class="num" id="LN4012">4012</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_handlers_disconnect_matched ((toplevel-&gt;priv-&gt;<br>gtk_settings), (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA<br>), 0, 0, ((void*)0), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4013"><td class="num" id="LN4013">4013</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4014"><td class="num" id="LN4014">4014</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = gtk_widget_get_settings (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;panel_widget)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;panel_widget)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4015"><td class="num" id="LN4015">4015</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4016"><td class="num" id="LN4016">4016</td><td class="line"> <span class='macro'>g_signal_connect_swapped (toplevel-&gt;priv-&gt;gtk_settings, <span class='string_literal'>"notify::gtk-dnd-drag-threshold"</span>,<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4017"><td class="num" id="LN4017">4017</td><td class="line"> <span class='macro'>G_CALLBACK (panel_toplevel_drag_threshold_changed),<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span></td></tr>
+<tr class="codeline" data-linenumber="4018"><td class="num" id="LN4018">4018</td><td class="line"> <span class='macro'>toplevel)<span class='macro_popup'>g_signal_connect_data ((toplevel-&gt;priv-&gt;gtk_settings), (<br>"notify::gtk-dnd-drag-threshold"), (((GCallback) (panel_toplevel_drag_threshold_changed<br>))), (toplevel), ((void*)0), G_CONNECT_SWAPPED)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4019"><td class="num" id="LN4019">4019</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4020"><td class="num" id="LN4020">4020</td><td class="line"> panel_toplevel_drag_threshold_changed (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4021"><td class="num" id="LN4021">4021</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4022"><td class="num" id="LN4022">4022</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4023"><td class="num" id="LN4023">4023</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4024"><td class="num" id="LN4024">4024</td><td class="line">panel_toplevel_screen_changed (GtkWidget *widget,</td></tr>
+<tr class="codeline" data-linenumber="4025"><td class="num" id="LN4025">4025</td><td class="line"> GdkScreen *previous_screen)</td></tr>
+<tr class="codeline" data-linenumber="4026"><td class="num" id="LN4026">4026</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4027"><td class="num" id="LN4027">4027</td><td class="line"> panel_toplevel_update_gtk_settings (<span class='macro'>PANEL_TOPLEVEL (widget)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((widget)), ((panel_toplevel_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4028"><td class="num" id="LN4028">4028</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4029"><td class="num" id="LN4029">4029</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed)</td></tr>
+<tr class="codeline" data-linenumber="4030"><td class="num" id="LN4030">4030</td><td class="line"> <span class='macro'>GTK_WIDGET_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), ((gtk_widget_get_type ())<br>)))))</span></span>-&gt;screen_changed (widget, previous_screen);</td></tr>
+<tr class="codeline" data-linenumber="4031"><td class="num" id="LN4031">4031</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4032"><td class="num" id="LN4032">4032</td><td class="line"> gtk_widget_queue_resize (widget);</td></tr>
+<tr class="codeline" data-linenumber="4033"><td class="num" id="LN4033">4033</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4034"><td class="num" id="LN4034">4034</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4035"><td class="num" id="LN4035">4035</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4036"><td class="num" id="LN4036">4036</td><td class="line">panel_toplevel_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4037"><td class="num" id="LN4037">4037</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4038"><td class="num" id="LN4038">4038</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4039"><td class="num" id="LN4039">4039</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4040"><td class="num" id="LN4040">4040</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4041"><td class="num" id="LN4041">4041</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4042"><td class="num" id="LN4042">4042</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4043"><td class="num" id="LN4043">4043</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4044"><td class="num" id="LN4044">4044</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4045"><td class="num" id="LN4045">4045</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4046"><td class="num" id="LN4046">4046</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4047"><td class="num" id="LN4047">4047</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4048"><td class="num" id="LN4048">4048</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4049"><td class="num" id="LN4049">4049</td><td class="line"> panel_toplevel_set_name (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4050"><td class="num" id="LN4050">4050</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4051"><td class="num" id="LN4051">4051</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4052"><td class="num" id="LN4052">4052</td><td class="line"> panel_toplevel_set_settings_path (toplevel, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="4053"><td class="num" id="LN4053">4053</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4054"><td class="num" id="LN4054">4054</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4055"><td class="num" id="LN4055">4055</td><td class="line"> panel_toplevel_set_expand (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4056"><td class="num" id="LN4056">4056</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4057"><td class="num" id="LN4057">4057</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4058"><td class="num" id="LN4058">4058</td><td class="line"> panel_toplevel_set_orientation (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4059"><td class="num" id="LN4059">4059</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4060"><td class="num" id="LN4060">4060</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4061"><td class="num" id="LN4061">4061</td><td class="line"> panel_toplevel_set_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4062"><td class="num" id="LN4062">4062</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4063"><td class="num" id="LN4063">4063</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4064"><td class="num" id="LN4064">4064</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4065"><td class="num" id="LN4065">4065</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4066"><td class="num" id="LN4066">4066</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4067"><td class="num" id="LN4067">4067</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4068"><td class="num" id="LN4068">4068</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4069"><td class="num" id="LN4069">4069</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4070"><td class="num" id="LN4070">4070</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4071"><td class="num" id="LN4071">4071</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4072"><td class="num" id="LN4072">4072</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4073"><td class="num" id="LN4073">4073</td><td class="line"> toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4074"><td class="num" id="LN4074">4074</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4075"><td class="num" id="LN4075">4075</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4076"><td class="num" id="LN4076">4076</td><td class="line"> panel_toplevel_set_x (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4077"><td class="num" id="LN4077">4077</td><td class="line"> toplevel-&gt;priv-&gt;x,</td></tr>
+<tr class="codeline" data-linenumber="4078"><td class="num" id="LN4078">4078</td><td class="line"> toplevel-&gt;priv-&gt;x_right,</td></tr>
+<tr class="codeline" data-linenumber="4079"><td class="num" id="LN4079">4079</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4080"><td class="num" id="LN4080">4080</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4081"><td class="num" id="LN4081">4081</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4082"><td class="num" id="LN4082">4082</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4083"><td class="num" id="LN4083">4083</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4084"><td class="num" id="LN4084">4084</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4085"><td class="num" id="LN4085">4085</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4086"><td class="num" id="LN4086">4086</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4087"><td class="num" id="LN4087">4087</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4088"><td class="num" id="LN4088">4088</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4089"><td class="num" id="LN4089">4089</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4090"><td class="num" id="LN4090">4090</td><td class="line"> g_value_get_int (value),</td></tr>
+<tr class="codeline" data-linenumber="4091"><td class="num" id="LN4091">4091</td><td class="line"> toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4092"><td class="num" id="LN4092">4092</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4093"><td class="num" id="LN4093">4093</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4094"><td class="num" id="LN4094">4094</td><td class="line"> panel_toplevel_set_y (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4095"><td class="num" id="LN4095">4095</td><td class="line"> toplevel-&gt;priv-&gt;y,</td></tr>
+<tr class="codeline" data-linenumber="4096"><td class="num" id="LN4096">4096</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="4097"><td class="num" id="LN4097">4097</td><td class="line"> g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4098"><td class="num" id="LN4098">4098</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4099"><td class="num" id="LN4099">4099</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4100"><td class="num" id="LN4100">4100</td><td class="line"> panel_toplevel_set_monitor (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4101"><td class="num" id="LN4101">4101</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4102"><td class="num" id="LN4102">4102</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4103"><td class="num" id="LN4103">4103</td><td class="line"> panel_toplevel_set_auto_hide (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4104"><td class="num" id="LN4104">4104</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4105"><td class="num" id="LN4105">4105</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4106"><td class="num" id="LN4106">4106</td><td class="line"> panel_toplevel_set_hide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4107"><td class="num" id="LN4107">4107</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4108"><td class="num" id="LN4108">4108</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4109"><td class="num" id="LN4109">4109</td><td class="line"> panel_toplevel_set_unhide_delay (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4110"><td class="num" id="LN4110">4110</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4111"><td class="num" id="LN4111">4111</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4112"><td class="num" id="LN4112">4112</td><td class="line"> panel_toplevel_set_auto_hide_size (toplevel, g_value_get_int (value));</td></tr>
+<tr class="codeline" data-linenumber="4113"><td class="num" id="LN4113">4113</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4114"><td class="num" id="LN4114">4114</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4115"><td class="num" id="LN4115">4115</td><td class="line"> panel_toplevel_set_animate (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4116"><td class="num" id="LN4116">4116</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4117"><td class="num" id="LN4117">4117</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4118"><td class="num" id="LN4118">4118</td><td class="line"> panel_toplevel_set_animation_speed (toplevel, g_value_get_enum (value));</td></tr>
+<tr class="codeline" data-linenumber="4119"><td class="num" id="LN4119">4119</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4120"><td class="num" id="LN4120">4120</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4121"><td class="num" id="LN4121">4121</td><td class="line"> panel_toplevel_set_enable_buttons (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4122"><td class="num" id="LN4122">4122</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4123"><td class="num" id="LN4123">4123</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4124"><td class="num" id="LN4124">4124</td><td class="line"> panel_toplevel_set_enable_arrows (toplevel, g_value_get_boolean (value));</td></tr>
+<tr class="codeline" data-linenumber="4125"><td class="num" id="LN4125">4125</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4126"><td class="num" id="LN4126">4126</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4127"><td class="num" id="LN4127">4127</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4127, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4128"><td class="num" id="LN4128">4128</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4129"><td class="num" id="LN4129">4129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4130"><td class="num" id="LN4130">4130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4131"><td class="num" id="LN4131">4131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4132"><td class="num" id="LN4132">4132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4133"><td class="num" id="LN4133">4133</td><td class="line">panel_toplevel_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="4134"><td class="num" id="LN4134">4134</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="4135"><td class="num" id="LN4135">4135</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="4136"><td class="num" id="LN4136">4136</td><td class="line"> GParamSpec *pspec)</td></tr>
+<tr class="codeline" data-linenumber="4137"><td class="num" id="LN4137">4137</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4138"><td class="num" id="LN4138">4138</td><td class="line"> PanelToplevel *toplevel;</td></tr>
+<tr class="codeline" data-linenumber="4139"><td class="num" id="LN4139">4139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4140"><td class="num" id="LN4140">4140</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (object))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((object)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (object)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4141"><td class="num" id="LN4141">4141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4142"><td class="num" id="LN4142">4142</td><td class="line"> toplevel = <span class='macro'>PANEL_TOPLEVEL (object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4143"><td class="num" id="LN4143">4143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4144"><td class="num" id="LN4144">4144</td><td class="line"> <span class='keyword'>switch</span> (prop_id) {</td></tr>
+<tr class="codeline" data-linenumber="4145"><td class="num" id="LN4145">4145</td><td class="line"> <span class='keyword'>case</span> PROP_NAME:</td></tr>
+<tr class="codeline" data-linenumber="4146"><td class="num" id="LN4146">4146</td><td class="line"> g_value_set_string (value, panel_toplevel_get_name (toplevel));</td></tr>
+<tr class="codeline" data-linenumber="4147"><td class="num" id="LN4147">4147</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4148"><td class="num" id="LN4148">4148</td><td class="line"> <span class='keyword'>case</span> PROP_SETTINGS_PATH:</td></tr>
+<tr class="codeline" data-linenumber="4149"><td class="num" id="LN4149">4149</td><td class="line"> g_value_set_string (value, toplevel-&gt;priv-&gt;settings_path);</td></tr>
+<tr class="codeline" data-linenumber="4150"><td class="num" id="LN4150">4150</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4151"><td class="num" id="LN4151">4151</td><td class="line"> <span class='keyword'>case</span> PROP_EXPAND:</td></tr>
+<tr class="codeline" data-linenumber="4152"><td class="num" id="LN4152">4152</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4153"><td class="num" id="LN4153">4153</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4154"><td class="num" id="LN4154">4154</td><td class="line"> <span class='keyword'>case</span> PROP_ORIENTATION:</td></tr>
+<tr class="codeline" data-linenumber="4155"><td class="num" id="LN4155">4155</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="4156"><td class="num" id="LN4156">4156</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4157"><td class="num" id="LN4157">4157</td><td class="line"> <span class='keyword'>case</span> PROP_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4158"><td class="num" id="LN4158">4158</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4159"><td class="num" id="LN4159">4159</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4160"><td class="num" id="LN4160">4160</td><td class="line"> <span class='keyword'>case</span> PROP_X:</td></tr>
+<tr class="codeline" data-linenumber="4161"><td class="num" id="LN4161">4161</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x);</td></tr>
+<tr class="codeline" data-linenumber="4162"><td class="num" id="LN4162">4162</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4163"><td class="num" id="LN4163">4163</td><td class="line"> <span class='keyword'>case</span> PROP_X_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4164"><td class="num" id="LN4164">4164</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;x_right);</td></tr>
+<tr class="codeline" data-linenumber="4165"><td class="num" id="LN4165">4165</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4166"><td class="num" id="LN4166">4166</td><td class="line"> <span class='keyword'>case</span> PROP_X_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4167"><td class="num" id="LN4167">4167</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;x_centered);</td></tr>
+<tr class="codeline" data-linenumber="4168"><td class="num" id="LN4168">4168</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4169"><td class="num" id="LN4169">4169</td><td class="line"> <span class='keyword'>case</span> PROP_Y:</td></tr>
+<tr class="codeline" data-linenumber="4170"><td class="num" id="LN4170">4170</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y);</td></tr>
+<tr class="codeline" data-linenumber="4171"><td class="num" id="LN4171">4171</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4172"><td class="num" id="LN4172">4172</td><td class="line"> <span class='keyword'>case</span> PROP_Y_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4173"><td class="num" id="LN4173">4173</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;y_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4174"><td class="num" id="LN4174">4174</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4175"><td class="num" id="LN4175">4175</td><td class="line"> <span class='keyword'>case</span> PROP_Y_CENTERED:</td></tr>
+<tr class="codeline" data-linenumber="4176"><td class="num" id="LN4176">4176</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;y_centered);</td></tr>
+<tr class="codeline" data-linenumber="4177"><td class="num" id="LN4177">4177</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4178"><td class="num" id="LN4178">4178</td><td class="line"> <span class='keyword'>case</span> PROP_MONITOR:</td></tr>
+<tr class="codeline" data-linenumber="4179"><td class="num" id="LN4179">4179</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;monitor);</td></tr>
+<tr class="codeline" data-linenumber="4180"><td class="num" id="LN4180">4180</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4181"><td class="num" id="LN4181">4181</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE:</td></tr>
+<tr class="codeline" data-linenumber="4182"><td class="num" id="LN4182">4182</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;auto_hide);</td></tr>
+<tr class="codeline" data-linenumber="4183"><td class="num" id="LN4183">4183</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4184"><td class="num" id="LN4184">4184</td><td class="line"> <span class='keyword'>case</span> PROP_HIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4185"><td class="num" id="LN4185">4185</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;hide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4186"><td class="num" id="LN4186">4186</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4187"><td class="num" id="LN4187">4187</td><td class="line"> <span class='keyword'>case</span> PROP_UNHIDE_DELAY:</td></tr>
+<tr class="codeline" data-linenumber="4188"><td class="num" id="LN4188">4188</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;unhide_delay);</td></tr>
+<tr class="codeline" data-linenumber="4189"><td class="num" id="LN4189">4189</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4190"><td class="num" id="LN4190">4190</td><td class="line"> <span class='keyword'>case</span> PROP_AUTOHIDE_SIZE:</td></tr>
+<tr class="codeline" data-linenumber="4191"><td class="num" id="LN4191">4191</td><td class="line"> g_value_set_int (value, toplevel-&gt;priv-&gt;auto_hide_size);</td></tr>
+<tr class="codeline" data-linenumber="4192"><td class="num" id="LN4192">4192</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4193"><td class="num" id="LN4193">4193</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATE:</td></tr>
+<tr class="codeline" data-linenumber="4194"><td class="num" id="LN4194">4194</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;animate);</td></tr>
+<tr class="codeline" data-linenumber="4195"><td class="num" id="LN4195">4195</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4196"><td class="num" id="LN4196">4196</td><td class="line"> <span class='keyword'>case</span> PROP_ANIMATION_SPEED:</td></tr>
+<tr class="codeline" data-linenumber="4197"><td class="num" id="LN4197">4197</td><td class="line"> g_value_set_enum (value, toplevel-&gt;priv-&gt;animation_speed);</td></tr>
+<tr class="codeline" data-linenumber="4198"><td class="num" id="LN4198">4198</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4199"><td class="num" id="LN4199">4199</td><td class="line"> <span class='keyword'>case</span> PROP_BUTTONS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4200"><td class="num" id="LN4200">4200</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;buttons_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4201"><td class="num" id="LN4201">4201</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4202"><td class="num" id="LN4202">4202</td><td class="line"> <span class='keyword'>case</span> PROP_ARROWS_ENABLED:</td></tr>
+<tr class="codeline" data-linenumber="4203"><td class="num" id="LN4203">4203</td><td class="line"> g_value_set_boolean (value, toplevel-&gt;priv-&gt;arrows_enabled);</td></tr>
+<tr class="codeline" data-linenumber="4204"><td class="num" id="LN4204">4204</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4205"><td class="num" id="LN4205">4205</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4206"><td class="num" id="LN4206">4206</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "panel-toplevel.c", 4206, ("property"), _glib__property_id,<br> _glib__pspec-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance<br>*) (_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name<br> ((((((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4207"><td class="num" id="LN4207">4207</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4208"><td class="num" id="LN4208">4208</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4209"><td class="num" id="LN4209">4209</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4210"><td class="num" id="LN4210">4210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4211"><td class="num" id="LN4211">4211</td><td class="line"><span class='keyword'>static</span> GObject*</td></tr>
+<tr class="codeline" data-linenumber="4212"><td class="num" id="LN4212">4212</td><td class="line">panel_toplevel_constructor (GType type,</td></tr>
+<tr class="codeline" data-linenumber="4213"><td class="num" id="LN4213">4213</td><td class="line"> guint n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4214"><td class="num" id="LN4214">4214</td><td class="line"> GObjectConstructParam *construct_properties)</td></tr>
+<tr class="codeline" data-linenumber="4215"><td class="num" id="LN4215">4215</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4216"><td class="num" id="LN4216">4216</td><td class="line"> GObject *object;</td></tr>
+<tr class="codeline" data-linenumber="4217"><td class="num" id="LN4217">4217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4218"><td class="num" id="LN4218">4218</td><td class="line"> object = <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;constructor (type,</td></tr>
+<tr class="codeline" data-linenumber="4219"><td class="num" id="LN4219">4219</td><td class="line"> n_construct_properties,</td></tr>
+<tr class="codeline" data-linenumber="4220"><td class="num" id="LN4220">4220</td><td class="line"> construct_properties);</td></tr>
+<tr class="codeline" data-linenumber="4221"><td class="num" id="LN4221">4221</td><td class="line"> PanelToplevel *toplevel = <span class='macro'>PANEL_TOPLEVEL(object)<span class='macro_popup'>((((PanelToplevel*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((object)), ((panel_toplevel_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4222"><td class="num" id="LN4222">4222</td><td class="line"> GdkScreen *screen = gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4223"><td class="num" id="LN4223">4223</td><td class="line"> GdkVisual *visual = gdk_screen_get_rgba_visual(screen);</td></tr>
+<tr class="codeline" data-linenumber="4224"><td class="num" id="LN4224">4224</td><td class="line"> gtk_widget_set_visual(<span class='macro'>GTK_WIDGET(toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>, visual);</td></tr>
+<tr class="codeline" data-linenumber="4225"><td class="num" id="LN4225">4225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4226"><td class="num" id="LN4226">4226</td><td class="line"> <span class='keyword'>return</span> object;</td></tr>
+<tr class="codeline" data-linenumber="4227"><td class="num" id="LN4227">4227</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4228"><td class="num" id="LN4228">4228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4229"><td class="num" id="LN4229">4229</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4230"><td class="num" id="LN4230">4230</td><td class="line">panel_toplevel_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="4231"><td class="num" id="LN4231">4231</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4232"><td class="num" id="LN4232">4232</td><td class="line"> PanelToplevel *toplevel = (PanelToplevel *) object;</td></tr>
+<tr class="codeline" data-linenumber="4233"><td class="num" id="LN4233">4233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4234"><td class="num" id="LN4234">4234</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4235"><td class="num" id="LN4235">4235</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_x11_display_get_type())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4236"><td class="num" id="LN4236">4236</td><td class="line"> panel_struts_unregister_strut (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4237"><td class="num" id="LN4237">4237</td><td class="line"><span class='directive'>#endif /* HAVE_X11 */</span></td></tr>
+<tr class="codeline" data-linenumber="4238"><td class="num" id="LN4238">4238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4239"><td class="num" id="LN4239">4239</td><td class="line"> toplevel_list = g_slist_remove (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4240"><td class="num" id="LN4240">4240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4241"><td class="num" id="LN4241">4241</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (panel_toplevel_parent_class)<span class='macro_popup'>((((GObjectClass*) (void *) g_type_check_class_cast ((GTypeClass<br>*) ((panel_toplevel_parent_class)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>-&gt;finalize (object);</td></tr>
+<tr class="codeline" data-linenumber="4242"><td class="num" id="LN4242">4242</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4243"><td class="num" id="LN4243">4243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4244"><td class="num" id="LN4244">4244</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4245"><td class="num" id="LN4245">4245</td><td class="line">panel_toplevel_class_init (PanelToplevelClass *klass)</td></tr>
+<tr class="codeline" data-linenumber="4246"><td class="num" id="LN4246">4246</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4247"><td class="num" id="LN4247">4247</td><td class="line"> GObjectClass *gobject_class = (GObjectClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4248"><td class="num" id="LN4248">4248</td><td class="line"> GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4249"><td class="num" id="LN4249">4249</td><td class="line"> GtkContainerClass *container_class = (GtkContainerClass *) klass;</td></tr>
+<tr class="codeline" data-linenumber="4250"><td class="num" id="LN4250">4250</td><td class="line"> GtkBindingSet *binding_set;</td></tr>
+<tr class="codeline" data-linenumber="4251"><td class="num" id="LN4251">4251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4252"><td class="num" id="LN4252">4252</td><td class="line"> binding_set = gtk_binding_set_by_class (klass);</td></tr>
+<tr class="codeline" data-linenumber="4253"><td class="num" id="LN4253">4253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4254"><td class="num" id="LN4254">4254</td><td class="line"> gobject_class-&gt;constructor = panel_toplevel_constructor;</td></tr>
+<tr class="codeline" data-linenumber="4255"><td class="num" id="LN4255">4255</td><td class="line"> gobject_class-&gt;set_property = panel_toplevel_set_property;</td></tr>
+<tr class="codeline" data-linenumber="4256"><td class="num" id="LN4256">4256</td><td class="line"> gobject_class-&gt;get_property = panel_toplevel_get_property;</td></tr>
+<tr class="codeline" data-linenumber="4257"><td class="num" id="LN4257">4257</td><td class="line"> gobject_class-&gt;finalize = panel_toplevel_finalize;</td></tr>
+<tr class="codeline" data-linenumber="4258"><td class="num" id="LN4258">4258</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4259"><td class="num" id="LN4259">4259</td><td class="line"> gobject_class-&gt;dispose = panel_toplevel_dispose;</td></tr>
+<tr class="codeline" data-linenumber="4260"><td class="num" id="LN4260">4260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4261"><td class="num" id="LN4261">4261</td><td class="line"> widget_class-&gt;realize = panel_toplevel_realize;</td></tr>
+<tr class="codeline" data-linenumber="4262"><td class="num" id="LN4262">4262</td><td class="line"> widget_class-&gt;unrealize = panel_toplevel_unrealize;</td></tr>
+<tr class="codeline" data-linenumber="4263"><td class="num" id="LN4263">4263</td><td class="line"> widget_class-&gt;state_flags_changed = panel_toplevel_state_flags_changed;</td></tr>
+<tr class="codeline" data-linenumber="4264"><td class="num" id="LN4264">4264</td><td class="line"> widget_class-&gt;draw = panel_toplevel_draw;</td></tr>
+<tr class="codeline" data-linenumber="4265"><td class="num" id="LN4265">4265</td><td class="line"> widget_class-&gt;get_preferred_width = panel_toplevel_get_preferred_width;</td></tr>
+<tr class="codeline" data-linenumber="4266"><td class="num" id="LN4266">4266</td><td class="line"> widget_class-&gt;get_preferred_height = panel_toplevel_get_preferred_height;</td></tr>
+<tr class="codeline" data-linenumber="4267"><td class="num" id="LN4267">4267</td><td class="line"> widget_class-&gt;style_updated = panel_toplevel_style_updated;</td></tr>
+<tr class="codeline" data-linenumber="4268"><td class="num" id="LN4268">4268</td><td class="line"> widget_class-&gt;size_allocate = panel_toplevel_size_allocate;</td></tr>
+<tr class="codeline" data-linenumber="4269"><td class="num" id="LN4269">4269</td><td class="line"> widget_class-&gt;button_press_event = panel_toplevel_button_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4270"><td class="num" id="LN4270">4270</td><td class="line"> widget_class-&gt;button_release_event = panel_toplevel_button_release_event;</td></tr>
+<tr class="codeline" data-linenumber="4271"><td class="num" id="LN4271">4271</td><td class="line"> widget_class-&gt;configure_event = panel_toplevel_configure_event;</td></tr>
+<tr class="codeline" data-linenumber="4272"><td class="num" id="LN4272">4272</td><td class="line"> widget_class-&gt;key_press_event = panel_toplevel_key_press_event;</td></tr>
+<tr class="codeline" data-linenumber="4273"><td class="num" id="LN4273">4273</td><td class="line"> widget_class-&gt;motion_notify_event = panel_toplevel_motion_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4274"><td class="num" id="LN4274">4274</td><td class="line"> widget_class-&gt;enter_notify_event = panel_toplevel_enter_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4275"><td class="num" id="LN4275">4275</td><td class="line"> widget_class-&gt;leave_notify_event = panel_toplevel_leave_notify_event;</td></tr>
+<tr class="codeline" data-linenumber="4276"><td class="num" id="LN4276">4276</td><td class="line"> widget_class-&gt;screen_changed = panel_toplevel_screen_changed;</td></tr>
+<tr class="codeline" data-linenumber="4277"><td class="num" id="LN4277">4277</td><td class="line"> widget_class-&gt;focus_in_event = panel_toplevel_focus_in_event;</td></tr>
+<tr class="codeline" data-linenumber="4278"><td class="num" id="LN4278">4278</td><td class="line"> widget_class-&gt;focus_out_event = panel_toplevel_focus_out_event;</td></tr>
+<tr class="codeline" data-linenumber="4279"><td class="num" id="LN4279">4279</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4280"><td class="num" id="LN4280">4280</td><td class="line"> gtk_widget_class_set_css_name (widget_class, <span class='string_literal'>"PanelToplevel"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4281"><td class="num" id="LN4281">4281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4282"><td class="num" id="LN4282">4282</td><td class="line"> container_class-&gt;check_resize = panel_toplevel_check_resize;</td></tr>
+<tr class="codeline" data-linenumber="4283"><td class="num" id="LN4283">4283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4284"><td class="num" id="LN4284">4284</td><td class="line"> klass-&gt;hiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4285"><td class="num" id="LN4285">4285</td><td class="line"> klass-&gt;unhiding = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4286"><td class="num" id="LN4286">4286</td><td class="line"> klass-&gt;popup_panel_menu = panel_toplevel_popup_panel_menu;</td></tr>
+<tr class="codeline" data-linenumber="4287"><td class="num" id="LN4287">4287</td><td class="line"> klass-&gt;toggle_expand = panel_toplevel_toggle_expand;</td></tr>
+<tr class="codeline" data-linenumber="4288"><td class="num" id="LN4288">4288</td><td class="line"> klass-&gt;expand = panel_toplevel_expand;</td></tr>
+<tr class="codeline" data-linenumber="4289"><td class="num" id="LN4289">4289</td><td class="line"> klass-&gt;unexpand = panel_toplevel_unexpand;</td></tr>
+<tr class="codeline" data-linenumber="4290"><td class="num" id="LN4290">4290</td><td class="line"> klass-&gt;toggle_hidden = panel_toplevel_toggle_hidden;</td></tr>
+<tr class="codeline" data-linenumber="4291"><td class="num" id="LN4291">4291</td><td class="line"> klass-&gt;begin_move = panel_toplevel_begin_move;</td></tr>
+<tr class="codeline" data-linenumber="4292"><td class="num" id="LN4292">4292</td><td class="line"> klass-&gt;begin_resize = panel_toplevel_begin_resize;</td></tr>
+<tr class="codeline" data-linenumber="4293"><td class="num" id="LN4293">4293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4294"><td class="num" id="LN4294">4294</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4295"><td class="num" id="LN4295">4295</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4296"><td class="num" id="LN4296">4296</td><td class="line"> PROP_NAME,</td></tr>
+<tr class="codeline" data-linenumber="4297"><td class="num" id="LN4297">4297</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4298"><td class="num" id="LN4298">4298</td><td class="line"> <span class='string_literal'>"name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4299"><td class="num" id="LN4299">4299</td><td class="line"> <span class='string_literal'>"Name"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4300"><td class="num" id="LN4300">4300</td><td class="line"> <span class='string_literal'>"The name of this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4301"><td class="num" id="LN4301">4301</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4302"><td class="num" id="LN4302">4302</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4303"><td class="num" id="LN4303">4303</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4304"><td class="num" id="LN4304">4304</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4305"><td class="num" id="LN4305">4305</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4306"><td class="num" id="LN4306">4306</td><td class="line"> PROP_SETTINGS_PATH,</td></tr>
+<tr class="codeline" data-linenumber="4307"><td class="num" id="LN4307">4307</td><td class="line"> g_param_spec_string (</td></tr>
+<tr class="codeline" data-linenumber="4308"><td class="num" id="LN4308">4308</td><td class="line"> <span class='string_literal'>"settings-path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4309"><td class="num" id="LN4309">4309</td><td class="line"> <span class='string_literal'>"GSettings path"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4310"><td class="num" id="LN4310">4310</td><td class="line"> <span class='string_literal'>"The GSettings path used for this panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4311"><td class="num" id="LN4311">4311</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4312"><td class="num" id="LN4312">4312</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4313"><td class="num" id="LN4313">4313</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4314"><td class="num" id="LN4314">4314</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4315"><td class="num" id="LN4315">4315</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4316"><td class="num" id="LN4316">4316</td><td class="line"> PROP_EXPAND,</td></tr>
+<tr class="codeline" data-linenumber="4317"><td class="num" id="LN4317">4317</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4318"><td class="num" id="LN4318">4318</td><td class="line"> <span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4319"><td class="num" id="LN4319">4319</td><td class="line"> <span class='string_literal'>"Expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4320"><td class="num" id="LN4320">4320</td><td class="line"> <span class='string_literal'>"Expand to take up the full monitor width/height"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4321"><td class="num" id="LN4321">4321</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4322"><td class="num" id="LN4322">4322</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4323"><td class="num" id="LN4323">4323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4324"><td class="num" id="LN4324">4324</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4325"><td class="num" id="LN4325">4325</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4326"><td class="num" id="LN4326">4326</td><td class="line"> PROP_ORIENTATION,</td></tr>
+<tr class="codeline" data-linenumber="4327"><td class="num" id="LN4327">4327</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4328"><td class="num" id="LN4328">4328</td><td class="line"> <span class='string_literal'>"orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4329"><td class="num" id="LN4329">4329</td><td class="line"> <span class='string_literal'>"Orientation"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4330"><td class="num" id="LN4330">4330</td><td class="line"> <span class='string_literal'>"The orientation of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4331"><td class="num" id="LN4331">4331</td><td class="line"> <span class='macro'>PANEL_TYPE_ORIENTATION<span class='macro_popup'>panel_orientation_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4332"><td class="num" id="LN4332">4332</td><td class="line"> PANEL_ORIENTATION_TOP,</td></tr>
+<tr class="codeline" data-linenumber="4333"><td class="num" id="LN4333">4333</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4334"><td class="num" id="LN4334">4334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4335"><td class="num" id="LN4335">4335</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4336"><td class="num" id="LN4336">4336</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4337"><td class="num" id="LN4337">4337</td><td class="line"> PROP_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4338"><td class="num" id="LN4338">4338</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4339"><td class="num" id="LN4339">4339</td><td class="line"> <span class='string_literal'>"size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4340"><td class="num" id="LN4340">4340</td><td class="line"> <span class='string_literal'>"Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4341"><td class="num" id="LN4341">4341</td><td class="line"> <span class='string_literal'>"The height (or width when vertical) of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4342"><td class="num" id="LN4342">4342</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4343"><td class="num" id="LN4343">4343</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4344"><td class="num" id="LN4344">4344</td><td class="line"> <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4345"><td class="num" id="LN4345">4345</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4346"><td class="num" id="LN4346">4346</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4347"><td class="num" id="LN4347">4347</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4348"><td class="num" id="LN4348">4348</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4349"><td class="num" id="LN4349">4349</td><td class="line"> PROP_X,</td></tr>
+<tr class="codeline" data-linenumber="4350"><td class="num" id="LN4350">4350</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4351"><td class="num" id="LN4351">4351</td><td class="line"> <span class='string_literal'>"x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4352"><td class="num" id="LN4352">4352</td><td class="line"> <span class='string_literal'>"X position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4353"><td class="num" id="LN4353">4353</td><td class="line"> <span class='string_literal'>"The X position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4354"><td class="num" id="LN4354">4354</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4355"><td class="num" id="LN4355">4355</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4356"><td class="num" id="LN4356">4356</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4357"><td class="num" id="LN4357">4357</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4358"><td class="num" id="LN4358">4358</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4359"><td class="num" id="LN4359">4359</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4360"><td class="num" id="LN4360">4360</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4361"><td class="num" id="LN4361">4361</td><td class="line"> PROP_X_RIGHT,</td></tr>
+<tr class="codeline" data-linenumber="4362"><td class="num" id="LN4362">4362</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4363"><td class="num" id="LN4363">4363</td><td class="line"> <span class='string_literal'>"x-right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4364"><td class="num" id="LN4364">4364</td><td class="line"> <span class='string_literal'>"X position, from the right"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4365"><td class="num" id="LN4365">4365</td><td class="line"> <span class='string_literal'>"The X position of the panel, starting from the right of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4366"><td class="num" id="LN4366">4366</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4367"><td class="num" id="LN4367">4367</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4368"><td class="num" id="LN4368">4368</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4369"><td class="num" id="LN4369">4369</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4370"><td class="num" id="LN4370">4370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4371"><td class="num" id="LN4371">4371</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4372"><td class="num" id="LN4372">4372</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4373"><td class="num" id="LN4373">4373</td><td class="line"> PROP_X_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4374"><td class="num" id="LN4374">4374</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4375"><td class="num" id="LN4375">4375</td><td class="line"> <span class='string_literal'>"x-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4376"><td class="num" id="LN4376">4376</td><td class="line"> <span class='string_literal'>"X centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4377"><td class="num" id="LN4377">4377</td><td class="line"> <span class='string_literal'>"The x co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4378"><td class="num" id="LN4378">4378</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4379"><td class="num" id="LN4379">4379</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4380"><td class="num" id="LN4380">4380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4381"><td class="num" id="LN4381">4381</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4382"><td class="num" id="LN4382">4382</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4383"><td class="num" id="LN4383">4383</td><td class="line"> PROP_Y,</td></tr>
+<tr class="codeline" data-linenumber="4384"><td class="num" id="LN4384">4384</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4385"><td class="num" id="LN4385">4385</td><td class="line"> <span class='string_literal'>"y"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4386"><td class="num" id="LN4386">4386</td><td class="line"> <span class='string_literal'>"Y position"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4387"><td class="num" id="LN4387">4387</td><td class="line"> <span class='string_literal'>"The Y position of the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4388"><td class="num" id="LN4388">4388</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4389"><td class="num" id="LN4389">4389</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4390"><td class="num" id="LN4390">4390</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4391"><td class="num" id="LN4391">4391</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4392"><td class="num" id="LN4392">4392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4393"><td class="num" id="LN4393">4393</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4394"><td class="num" id="LN4394">4394</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4395"><td class="num" id="LN4395">4395</td><td class="line"> PROP_Y_BOTTOM,</td></tr>
+<tr class="codeline" data-linenumber="4396"><td class="num" id="LN4396">4396</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4397"><td class="num" id="LN4397">4397</td><td class="line"> <span class='string_literal'>"y_bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4398"><td class="num" id="LN4398">4398</td><td class="line"> <span class='string_literal'>"Y position, from the bottom"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4399"><td class="num" id="LN4399">4399</td><td class="line"> <span class='string_literal'>"The Y position of the panel, starting from the bottom of the screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4400"><td class="num" id="LN4400">4400</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4401"><td class="num" id="LN4401">4401</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4402"><td class="num" id="LN4402">4402</td><td class="line"> -1,</td></tr>
+<tr class="codeline" data-linenumber="4403"><td class="num" id="LN4403">4403</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4404"><td class="num" id="LN4404">4404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4405"><td class="num" id="LN4405">4405</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4406"><td class="num" id="LN4406">4406</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4407"><td class="num" id="LN4407">4407</td><td class="line"> PROP_Y_CENTERED,</td></tr>
+<tr class="codeline" data-linenumber="4408"><td class="num" id="LN4408">4408</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4409"><td class="num" id="LN4409">4409</td><td class="line"> <span class='string_literal'>"y-centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4410"><td class="num" id="LN4410">4410</td><td class="line"> <span class='string_literal'>"Y centered"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4411"><td class="num" id="LN4411">4411</td><td class="line"> <span class='string_literal'>"The y co-ordinate is relative to center screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4412"><td class="num" id="LN4412">4412</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4413"><td class="num" id="LN4413">4413</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4414"><td class="num" id="LN4414">4414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4415"><td class="num" id="LN4415">4415</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4416"><td class="num" id="LN4416">4416</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4417"><td class="num" id="LN4417">4417</td><td class="line"> PROP_MONITOR,</td></tr>
+<tr class="codeline" data-linenumber="4418"><td class="num" id="LN4418">4418</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4419"><td class="num" id="LN4419">4419</td><td class="line"> <span class='string_literal'>"monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4420"><td class="num" id="LN4420">4420</td><td class="line"> <span class='string_literal'>"Xinerama monitor"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4421"><td class="num" id="LN4421">4421</td><td class="line"> <span class='string_literal'>"The monitor (in terms of Xinerama) which the panel is on"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4422"><td class="num" id="LN4422">4422</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4423"><td class="num" id="LN4423">4423</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4424"><td class="num" id="LN4424">4424</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4425"><td class="num" id="LN4425">4425</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4426"><td class="num" id="LN4426">4426</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4427"><td class="num" id="LN4427">4427</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4428"><td class="num" id="LN4428">4428</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4429"><td class="num" id="LN4429">4429</td><td class="line"> PROP_AUTOHIDE,</td></tr>
+<tr class="codeline" data-linenumber="4430"><td class="num" id="LN4430">4430</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4431"><td class="num" id="LN4431">4431</td><td class="line"> <span class='string_literal'>"auto-hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4432"><td class="num" id="LN4432">4432</td><td class="line"> <span class='string_literal'>"Auto hide"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4433"><td class="num" id="LN4433">4433</td><td class="line"> <span class='string_literal'>"Automatically hide the panel when the mouse leaves the panel"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4434"><td class="num" id="LN4434">4434</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4435"><td class="num" id="LN4435">4435</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4436"><td class="num" id="LN4436">4436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4437"><td class="num" id="LN4437">4437</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4438"><td class="num" id="LN4438">4438</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4439"><td class="num" id="LN4439">4439</td><td class="line"> PROP_HIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4440"><td class="num" id="LN4440">4440</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4441"><td class="num" id="LN4441">4441</td><td class="line"> <span class='string_literal'>"hide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4442"><td class="num" id="LN4442">4442</td><td class="line"> <span class='string_literal'>"Hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4443"><td class="num" id="LN4443">4443</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4444"><td class="num" id="LN4444">4444</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4445"><td class="num" id="LN4445">4445</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4446"><td class="num" id="LN4446">4446</td><td class="line"> <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4447"><td class="num" id="LN4447">4447</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4448"><td class="num" id="LN4448">4448</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4449"><td class="num" id="LN4449">4449</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4450"><td class="num" id="LN4450">4450</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4451"><td class="num" id="LN4451">4451</td><td class="line"> PROP_UNHIDE_DELAY,</td></tr>
+<tr class="codeline" data-linenumber="4452"><td class="num" id="LN4452">4452</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4453"><td class="num" id="LN4453">4453</td><td class="line"> <span class='string_literal'>"unhide-delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4454"><td class="num" id="LN4454">4454</td><td class="line"> <span class='string_literal'>"Un-hide delay"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4455"><td class="num" id="LN4455">4455</td><td class="line"> <span class='string_literal'>"The number of milliseconds to delay before automatically un-hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4456"><td class="num" id="LN4456">4456</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4457"><td class="num" id="LN4457">4457</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4458"><td class="num" id="LN4458">4458</td><td class="line"> <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4459"><td class="num" id="LN4459">4459</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4460"><td class="num" id="LN4460">4460</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4461"><td class="num" id="LN4461">4461</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4462"><td class="num" id="LN4462">4462</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4463"><td class="num" id="LN4463">4463</td><td class="line"> PROP_AUTOHIDE_SIZE,</td></tr>
+<tr class="codeline" data-linenumber="4464"><td class="num" id="LN4464">4464</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4465"><td class="num" id="LN4465">4465</td><td class="line"> <span class='string_literal'>"auto-hide-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4466"><td class="num" id="LN4466">4466</td><td class="line"> <span class='string_literal'>"Auto-hide size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4467"><td class="num" id="LN4467">4467</td><td class="line"> <span class='string_literal'>"The number of pixels visible when the panel has been automatically hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4468"><td class="num" id="LN4468">4468</td><td class="line"> 1,</td></tr>
+<tr class="codeline" data-linenumber="4469"><td class="num" id="LN4469">4469</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4470"><td class="num" id="LN4470">4470</td><td class="line"> <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4471"><td class="num" id="LN4471">4471</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4472"><td class="num" id="LN4472">4472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4473"><td class="num" id="LN4473">4473</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4474"><td class="num" id="LN4474">4474</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4475"><td class="num" id="LN4475">4475</td><td class="line"> PROP_ANIMATE,</td></tr>
+<tr class="codeline" data-linenumber="4476"><td class="num" id="LN4476">4476</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4477"><td class="num" id="LN4477">4477</td><td class="line"> <span class='string_literal'>"animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4478"><td class="num" id="LN4478">4478</td><td class="line"> <span class='string_literal'>"Animate"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4479"><td class="num" id="LN4479">4479</td><td class="line"> <span class='string_literal'>"Enable hiding/showing animations"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4480"><td class="num" id="LN4480">4480</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4481"><td class="num" id="LN4481">4481</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4482"><td class="num" id="LN4482">4482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4483"><td class="num" id="LN4483">4483</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4484"><td class="num" id="LN4484">4484</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4485"><td class="num" id="LN4485">4485</td><td class="line"> PROP_ANIMATION_SPEED,</td></tr>
+<tr class="codeline" data-linenumber="4486"><td class="num" id="LN4486">4486</td><td class="line"> g_param_spec_enum (</td></tr>
+<tr class="codeline" data-linenumber="4487"><td class="num" id="LN4487">4487</td><td class="line"> <span class='string_literal'>"animation-speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4488"><td class="num" id="LN4488">4488</td><td class="line"> <span class='string_literal'>"Animation Speed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4489"><td class="num" id="LN4489">4489</td><td class="line"> <span class='string_literal'>"The speed at which to animate panel hiding/showing"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4490"><td class="num" id="LN4490">4490</td><td class="line"> <span class='macro'>PANEL_TYPE_ANIMATION_SPEED<span class='macro_popup'>panel_animation_speed_get_type()</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4491"><td class="num" id="LN4491">4491</td><td class="line"> PANEL_ANIMATION_MEDIUM,</td></tr>
+<tr class="codeline" data-linenumber="4492"><td class="num" id="LN4492">4492</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4493"><td class="num" id="LN4493">4493</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4494"><td class="num" id="LN4494">4494</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4495"><td class="num" id="LN4495">4495</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4496"><td class="num" id="LN4496">4496</td><td class="line"> PROP_BUTTONS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4497"><td class="num" id="LN4497">4497</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4498"><td class="num" id="LN4498">4498</td><td class="line"> <span class='string_literal'>"buttons-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4499"><td class="num" id="LN4499">4499</td><td class="line"> <span class='string_literal'>"Buttons Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4500"><td class="num" id="LN4500">4500</td><td class="line"> <span class='string_literal'>"Enable hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4501"><td class="num" id="LN4501">4501</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4502"><td class="num" id="LN4502">4502</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4503"><td class="num" id="LN4503">4503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4504"><td class="num" id="LN4504">4504</td><td class="line"> g_object_class_install_property (</td></tr>
+<tr class="codeline" data-linenumber="4505"><td class="num" id="LN4505">4505</td><td class="line"> gobject_class,</td></tr>
+<tr class="codeline" data-linenumber="4506"><td class="num" id="LN4506">4506</td><td class="line"> PROP_ARROWS_ENABLED,</td></tr>
+<tr class="codeline" data-linenumber="4507"><td class="num" id="LN4507">4507</td><td class="line"> g_param_spec_boolean (</td></tr>
+<tr class="codeline" data-linenumber="4508"><td class="num" id="LN4508">4508</td><td class="line"> <span class='string_literal'>"arrows-enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4509"><td class="num" id="LN4509">4509</td><td class="line"> <span class='string_literal'>"Arrows Enabled"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4510"><td class="num" id="LN4510">4510</td><td class="line"> <span class='string_literal'>"Enable arrows on hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4511"><td class="num" id="LN4511">4511</td><td class="line"> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4512"><td class="num" id="LN4512">4512</td><td class="line"> G_PARAM_READWRITE | G_PARAM_CONSTRUCT));</td></tr>
+<tr class="codeline" data-linenumber="4513"><td class="num" id="LN4513">4513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4514"><td class="num" id="LN4514">4514</td><td class="line"> gtk_widget_class_install_style_property (</td></tr>
+<tr class="codeline" data-linenumber="4515"><td class="num" id="LN4515">4515</td><td class="line"> widget_class,</td></tr>
+<tr class="codeline" data-linenumber="4516"><td class="num" id="LN4516">4516</td><td class="line"> g_param_spec_int (</td></tr>
+<tr class="codeline" data-linenumber="4517"><td class="num" id="LN4517">4517</td><td class="line"> <span class='string_literal'>"arrow-size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4518"><td class="num" id="LN4518">4518</td><td class="line"> <span class='string_literal'>"Arrow Size"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4519"><td class="num" id="LN4519">4519</td><td class="line"> <span class='string_literal'>"The size of the arrows on the hide/show buttons"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4520"><td class="num" id="LN4520">4520</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="4521"><td class="num" id="LN4521">4521</td><td class="line"> <span class='macro'>G_MAXINT<span class='macro_popup'>2147483647</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4522"><td class="num" id="LN4522">4522</td><td class="line"> <span class='macro'>DEFAULT_ARROW_SIZE<span class='macro_popup'>20</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4523"><td class="num" id="LN4523">4523</td><td class="line"> G_PARAM_READABLE));</td></tr>
+<tr class="codeline" data-linenumber="4524"><td class="num" id="LN4524">4524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4525"><td class="num" id="LN4525">4525</td><td class="line"> toplevel_signals [HIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4526"><td class="num" id="LN4526">4526</td><td class="line"> g_signal_new (<span class='string_literal'>"hiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4527"><td class="num" id="LN4527">4527</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4528"><td class="num" id="LN4528">4528</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4529"><td class="num" id="LN4529">4529</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, hiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, hiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4530"><td class="num" id="LN4530">4530</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4531"><td class="num" id="LN4531">4531</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4532"><td class="num" id="LN4532">4532</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4533"><td class="num" id="LN4533">4533</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4534"><td class="num" id="LN4534">4534</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4535"><td class="num" id="LN4535">4535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4536"><td class="num" id="LN4536">4536</td><td class="line"> toplevel_signals [UNHIDE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4537"><td class="num" id="LN4537">4537</td><td class="line"> g_signal_new (<span class='string_literal'>"unhiding"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4538"><td class="num" id="LN4538">4538</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4539"><td class="num" id="LN4539">4539</td><td class="line"> G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4540"><td class="num" id="LN4540">4540</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unhiding)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unhiding))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4541"><td class="num" id="LN4541">4541</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4542"><td class="num" id="LN4542">4542</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4543"><td class="num" id="LN4543">4543</td><td class="line"> g_cclosure_marshal_VOID__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4544"><td class="num" id="LN4544">4544</td><td class="line"> <span class='macro'>G_TYPE_NONE<span class='macro_popup'>((GType) ((1) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4545"><td class="num" id="LN4545">4545</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4546"><td class="num" id="LN4546">4546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4547"><td class="num" id="LN4547">4547</td><td class="line"> toplevel_signals [POPUP_PANEL_MENU_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4548"><td class="num" id="LN4548">4548</td><td class="line"> g_signal_new (<span class='string_literal'>"popup-panel-menu"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4549"><td class="num" id="LN4549">4549</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4550"><td class="num" id="LN4550">4550</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4551"><td class="num" id="LN4551">4551</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, popup_panel_menu)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, popup_panel_menu<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4552"><td class="num" id="LN4552">4552</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4553"><td class="num" id="LN4553">4553</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4554"><td class="num" id="LN4554">4554</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4555"><td class="num" id="LN4555">4555</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4556"><td class="num" id="LN4556">4556</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4557"><td class="num" id="LN4557">4557</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4558"><td class="num" id="LN4558">4558</td><td class="line"> toplevel_signals [TOGGLE_EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4559"><td class="num" id="LN4559">4559</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4560"><td class="num" id="LN4560">4560</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4561"><td class="num" id="LN4561">4561</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4562"><td class="num" id="LN4562">4562</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_expand<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4563"><td class="num" id="LN4563">4563</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4564"><td class="num" id="LN4564">4564</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4565"><td class="num" id="LN4565">4565</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4566"><td class="num" id="LN4566">4566</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4567"><td class="num" id="LN4567">4567</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4568"><td class="num" id="LN4568">4568</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4569"><td class="num" id="LN4569">4569</td><td class="line"> toplevel_signals [EXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4570"><td class="num" id="LN4570">4570</td><td class="line"> g_signal_new (<span class='string_literal'>"expand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4571"><td class="num" id="LN4571">4571</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4572"><td class="num" id="LN4572">4572</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4573"><td class="num" id="LN4573">4573</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, expand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, expand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4574"><td class="num" id="LN4574">4574</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4575"><td class="num" id="LN4575">4575</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4576"><td class="num" id="LN4576">4576</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4577"><td class="num" id="LN4577">4577</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4578"><td class="num" id="LN4578">4578</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4579"><td class="num" id="LN4579">4579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4580"><td class="num" id="LN4580">4580</td><td class="line"> toplevel_signals [UNEXPAND_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4581"><td class="num" id="LN4581">4581</td><td class="line"> g_signal_new (<span class='string_literal'>"unexpand"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4582"><td class="num" id="LN4582">4582</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4583"><td class="num" id="LN4583">4583</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4584"><td class="num" id="LN4584">4584</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, unexpand)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, unexpand))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4585"><td class="num" id="LN4585">4585</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4586"><td class="num" id="LN4586">4586</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4587"><td class="num" id="LN4587">4587</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4588"><td class="num" id="LN4588">4588</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4589"><td class="num" id="LN4589">4589</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4590"><td class="num" id="LN4590">4590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4591"><td class="num" id="LN4591">4591</td><td class="line"> toplevel_signals [TOGGLE_HIDDEN_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4592"><td class="num" id="LN4592">4592</td><td class="line"> g_signal_new (<span class='string_literal'>"toggle-hidden"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4593"><td class="num" id="LN4593">4593</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4594"><td class="num" id="LN4594">4594</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4595"><td class="num" id="LN4595">4595</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, toggle_hidden)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, toggle_hidden<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4596"><td class="num" id="LN4596">4596</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4597"><td class="num" id="LN4597">4597</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4598"><td class="num" id="LN4598">4598</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4599"><td class="num" id="LN4599">4599</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4600"><td class="num" id="LN4600">4600</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4601"><td class="num" id="LN4601">4601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4602"><td class="num" id="LN4602">4602</td><td class="line"> toplevel_signals [BEGIN_MOVE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4603"><td class="num" id="LN4603">4603</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-move"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4604"><td class="num" id="LN4604">4604</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4605"><td class="num" id="LN4605">4605</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4606"><td class="num" id="LN4606">4606</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_move)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_move))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4607"><td class="num" id="LN4607">4607</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4608"><td class="num" id="LN4608">4608</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4609"><td class="num" id="LN4609">4609</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4610"><td class="num" id="LN4610">4610</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4611"><td class="num" id="LN4611">4611</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4612"><td class="num" id="LN4612">4612</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4613"><td class="num" id="LN4613">4613</td><td class="line"> toplevel_signals [BEGIN_RESIZE_SIGNAL] =</td></tr>
+<tr class="codeline" data-linenumber="4614"><td class="num" id="LN4614">4614</td><td class="line"> g_signal_new (<span class='string_literal'>"begin-resize"</span>,</td></tr>
+<tr class="codeline" data-linenumber="4615"><td class="num" id="LN4615">4615</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (gobject_class)<span class='macro_popup'>(((GTypeClass*) (gobject_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4616"><td class="num" id="LN4616">4616</td><td class="line"> G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,</td></tr>
+<tr class="codeline" data-linenumber="4617"><td class="num" id="LN4617">4617</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (PanelToplevelClass, begin_resize)<span class='macro_popup'>((glong) __builtin_offsetof(PanelToplevelClass, begin_resize)<br>)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4618"><td class="num" id="LN4618">4618</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4619"><td class="num" id="LN4619">4619</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4620"><td class="num" id="LN4620">4620</td><td class="line"> panel_marshal_BOOLEAN__VOID,</td></tr>
+<tr class="codeline" data-linenumber="4621"><td class="num" id="LN4621">4621</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4622"><td class="num" id="LN4622">4622</td><td class="line"> 0);</td></tr>
+<tr class="codeline" data-linenumber="4623"><td class="num" id="LN4623">4623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4624"><td class="num" id="LN4624">4624</td><td class="line"> gtk_binding_entry_add_signal (binding_set, <span class='macro'>GDK_KEY_F10<span class='macro_popup'>0xffc7</span></span>, GDK_CONTROL_MASK,</td></tr>
+<tr class="codeline" data-linenumber="4625"><td class="num" id="LN4625">4625</td><td class="line"> <span class='string_literal'>"popup_panel_menu"</span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="4626"><td class="num" id="LN4626">4626</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4627"><td class="num" id="LN4627">4627</td><td class="line"> panel_bindings_set_entries (binding_set);</td></tr>
+<tr class="codeline" data-linenumber="4628"><td class="num" id="LN4628">4628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4629"><td class="num" id="LN4629">4629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4630"><td class="num" id="LN4630">4630</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4631"><td class="num" id="LN4631">4631</td><td class="line">panel_toplevel_setup_widgets (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4632"><td class="num" id="LN4632">4632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4633"><td class="num" id="LN4633">4633</td><td class="line"> GtkWidget* container;</td></tr>
+<tr class="codeline" data-linenumber="4634"><td class="num" id="LN4634">4634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4635"><td class="num" id="LN4635">4635</td><td class="line"> toplevel-&gt;priv-&gt;grid = gtk_grid_new ();</td></tr>
+<tr class="codeline" data-linenumber="4636"><td class="num" id="LN4636">4636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4637"><td class="num" id="LN4637">4637</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_UP, 1, 0);</td></tr>
+<tr class="codeline" data-linenumber="4638"><td class="num" id="LN4638">4638</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_DOWN, 1, 2);</td></tr>
+<tr class="codeline" data-linenumber="4639"><td class="num" id="LN4639">4639</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_LEFT, 0, 1);</td></tr>
+<tr class="codeline" data-linenumber="4640"><td class="num" id="LN4640">4640</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = panel_toplevel_add_hide_button (toplevel, GTK_ARROW_RIGHT, 2, 1);</td></tr>
+<tr class="codeline" data-linenumber="4641"><td class="num" id="LN4641">4641</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4642"><td class="num" id="LN4642">4642</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="4643"><td class="num" id="LN4643">4643</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4644"><td class="num" id="LN4644">4644</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_left);</td></tr>
+<tr class="codeline" data-linenumber="4645"><td class="num" id="LN4645">4645</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_right);</td></tr>
+<tr class="codeline" data-linenumber="4646"><td class="num" id="LN4646">4646</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4647"><td class="num" id="LN4647">4647</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4648"><td class="num" id="LN4648">4648</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="4649"><td class="num" id="LN4649">4649</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_top);</td></tr>
+<tr class="codeline" data-linenumber="4650"><td class="num" id="LN4650">4650</td><td class="line"> gtk_widget_show(toplevel-&gt;priv-&gt;hide_button_bottom);</td></tr>
+<tr class="codeline" data-linenumber="4651"><td class="num" id="LN4651">4651</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4652"><td class="num" id="LN4652">4652</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4653"><td class="num" id="LN4653">4653</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = g_object_new(<span class='macro'>PANEL_TYPE_FRAME<span class='macro_popup'>(panel_frame_get_type ())</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4654"><td class="num" id="LN4654">4654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4655"><td class="num" id="LN4655">4655</td><td class="line"> gtk_widget_set_hexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4656"><td class="num" id="LN4656">4656</td><td class="line"> gtk_widget_set_vexpand (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4657"><td class="num" id="LN4657">4657</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4658"><td class="num" id="LN4658">4658</td><td class="line"> gtk_grid_attach (<span class='macro'>GTK_GRID (toplevel-&gt;priv-&gt;grid)<span class='macro_popup'>((((GtkGrid*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;grid)), ((gtk_grid_get_type ()))))<br>))</span></span>, <span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>, 1, 1, 1, 1);</td></tr>
+<tr class="codeline" data-linenumber="4659"><td class="num" id="LN4659">4659</td><td class="line"> gtk_widget_show (<span class='macro'>GTK_WIDGET (toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_widget_get_type<br> ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4660"><td class="num" id="LN4660">4660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4661"><td class="num" id="LN4661">4661</td><td class="line"> container = panel_widget_new (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4662"><td class="num" id="LN4662">4662</td><td class="line"> !toplevel-&gt;priv-&gt;expand,</td></tr>
+<tr class="codeline" data-linenumber="4663"><td class="num" id="LN4663">4663</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="4664"><td class="num" id="LN4664">4664</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="4665"><td class="num" id="LN4665">4665</td><td class="line"> GTK_ORIENTATION_VERTICAL,</td></tr>
+<tr class="codeline" data-linenumber="4666"><td class="num" id="LN4666">4666</td><td class="line"> toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="4667"><td class="num" id="LN4667">4667</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4668"><td class="num" id="LN4668">4668</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>PANEL_WIDGET(container)<span class='macro_popup'>((((PanelWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((container)), ((panel_widget_get_type()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4669"><td class="num" id="LN4669">4669</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4670"><td class="num" id="LN4670">4670</td><td class="line"> gtk_container_add(<span class='macro'>GTK_CONTAINER(toplevel-&gt;priv-&gt;inner_frame)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel-&gt;priv-&gt;inner_frame)), ((gtk_container_get_type<br> ()))))))</span></span>, container);</td></tr>
+<tr class="codeline" data-linenumber="4671"><td class="num" id="LN4671">4671</td><td class="line"> gtk_widget_show(container);</td></tr>
+<tr class="codeline" data-linenumber="4672"><td class="num" id="LN4672">4672</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4673"><td class="num" id="LN4673">4673</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (toplevel)<span class='macro_popup'>((((GtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_container_get_type ()))))))</span></span>, toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4674"><td class="num" id="LN4674">4674</td><td class="line"> gtk_widget_show (toplevel-&gt;priv-&gt;grid);</td></tr>
+<tr class="codeline" data-linenumber="4675"><td class="num" id="LN4675">4675</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4676"><td class="num" id="LN4676">4676</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4677"><td class="num" id="LN4677">4677</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4678"><td class="num" id="LN4678">4678</td><td class="line">background_changed (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="4679"><td class="num" id="LN4679">4679</td><td class="line"> PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4680"><td class="num" id="LN4680">4680</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4681"><td class="num" id="LN4681">4681</td><td class="line"> panel_toplevel_update_edges (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4682"><td class="num" id="LN4682">4682</td><td class="line"> panel_widget_emit_background_changed (toplevel-&gt;priv-&gt;panel_widget);</td></tr>
+<tr class="codeline" data-linenumber="4683"><td class="num" id="LN4683">4683</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4684"><td class="num" id="LN4684">4684</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4685"><td class="num" id="LN4685">4685</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4686"><td class="num" id="LN4686">4686</td><td class="line">panel_toplevel_init (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4687"><td class="num" id="LN4687">4687</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4688"><td class="num" id="LN4688">4688</td><td class="line"> GtkWidget *widget;</td></tr>
+<tr class="codeline" data-linenumber="4689"><td class="num" id="LN4689">4689</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="4690"><td class="num" id="LN4690">4690</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4691"><td class="num" id="LN4691">4691</td><td class="line"> toplevel-&gt;priv = panel_toplevel_get_instance_private (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4692"><td class="num" id="LN4692">4692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4693"><td class="num" id="LN4693">4693</td><td class="line"> toplevel-&gt;priv-&gt;expand = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4694"><td class="num" id="LN4694">4694</td><td class="line"> toplevel-&gt;priv-&gt;orientation = PANEL_ORIENTATION_BOTTOM;</td></tr>
+<tr class="codeline" data-linenumber="4695"><td class="num" id="LN4695">4695</td><td class="line"> toplevel-&gt;priv-&gt;size = <span class='macro'>DEFAULT_SIZE<span class='macro_popup'>48</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4696"><td class="num" id="LN4696">4696</td><td class="line"> toplevel-&gt;priv-&gt;scale = gtk_widget_get_scale_factor (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4697"><td class="num" id="LN4697">4697</td><td class="line"> toplevel-&gt;priv-&gt;x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4698"><td class="num" id="LN4698">4698</td><td class="line"> toplevel-&gt;priv-&gt;y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4699"><td class="num" id="LN4699">4699</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4700"><td class="num" id="LN4700">4700</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4701"><td class="num" id="LN4701">4701</td><td class="line"> toplevel-&gt;priv-&gt;monitor = 0;</td></tr>
+<tr class="codeline" data-linenumber="4702"><td class="num" id="LN4702">4702</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = -1;</td></tr>
+<tr class="codeline" data-linenumber="4703"><td class="num" id="LN4703">4703</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = <span class='macro'>DEFAULT_HIDE_DELAY<span class='macro_popup'>300</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4704"><td class="num" id="LN4704">4704</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = <span class='macro'>DEFAULT_UNHIDE_DELAY<span class='macro_popup'>100</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4705"><td class="num" id="LN4705">4705</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = <span class='macro'>DEFAULT_AUTO_HIDE_SIZE<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4706"><td class="num" id="LN4706">4706</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = PANEL_ANIMATION_FAST;</td></tr>
+<tr class="codeline" data-linenumber="4707"><td class="num" id="LN4707">4707</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4708"><td class="num" id="LN4708">4708</td><td class="line"> toplevel-&gt;priv-&gt;snap_tolerance = <span class='macro'>DEFAULT_DND_THRESHOLD<span class='macro_popup'>8</span></span> * <span class='macro'>SNAP_TOLERANCE_FACTOR<span class='macro_popup'>6</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4709"><td class="num" id="LN4709">4709</td><td class="line"> toplevel-&gt;priv-&gt;gtk_settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4710"><td class="num" id="LN4710">4710</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4711"><td class="num" id="LN4711">4711</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_NORMAL;</td></tr>
+<tr class="codeline" data-linenumber="4712"><td class="num" id="LN4712">4712</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4713"><td class="num" id="LN4713">4713</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4714"><td class="num" id="LN4714">4714</td><td class="line"> toplevel-&gt;priv-&gt;description = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4715"><td class="num" id="LN4715">4715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4716"><td class="num" id="LN4716">4716</td><td class="line"> toplevel-&gt;priv-&gt;hide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4717"><td class="num" id="LN4717">4717</td><td class="line"> toplevel-&gt;priv-&gt;unhide_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4718"><td class="num" id="LN4718">4718</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4719"><td class="num" id="LN4719">4719</td><td class="line"> toplevel-&gt;priv-&gt;geometry.x = -1;</td></tr>
+<tr class="codeline" data-linenumber="4720"><td class="num" id="LN4720">4720</td><td class="line"> toplevel-&gt;priv-&gt;geometry.y = -1;</td></tr>
+<tr class="codeline" data-linenumber="4721"><td class="num" id="LN4721">4721</td><td class="line"> toplevel-&gt;priv-&gt;geometry.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4722"><td class="num" id="LN4722">4722</td><td class="line"> toplevel-&gt;priv-&gt;geometry.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4723"><td class="num" id="LN4723">4723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4724"><td class="num" id="LN4724">4724</td><td class="line"> toplevel-&gt;priv-&gt;original_width = -1;</td></tr>
+<tr class="codeline" data-linenumber="4725"><td class="num" id="LN4725">4725</td><td class="line"> toplevel-&gt;priv-&gt;original_height = -1;</td></tr>
+<tr class="codeline" data-linenumber="4726"><td class="num" id="LN4726">4726</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4727"><td class="num" id="LN4727">4727</td><td class="line"> toplevel-&gt;priv-&gt;grab_op = PANEL_GRAB_OP_NONE;</td></tr>
+<tr class="codeline" data-linenumber="4728"><td class="num" id="LN4728">4728</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4729"><td class="num" id="LN4729">4729</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4730"><td class="num" id="LN4730">4730</td><td class="line"> toplevel-&gt;priv-&gt;drag_offset_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4731"><td class="num" id="LN4731">4731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4732"><td class="num" id="LN4732">4732</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_x = 0;</td></tr>
+<tr class="codeline" data-linenumber="4733"><td class="num" id="LN4733">4733</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_y = 0;</td></tr>
+<tr class="codeline" data-linenumber="4734"><td class="num" id="LN4734">4734</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_width = 0;</td></tr>
+<tr class="codeline" data-linenumber="4735"><td class="num" id="LN4735">4735</td><td class="line"> toplevel-&gt;priv-&gt;animation_end_height = 0;</td></tr>
+<tr class="codeline" data-linenumber="4736"><td class="num" id="LN4736">4736</td><td class="line"> toplevel-&gt;priv-&gt;animation_start_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4737"><td class="num" id="LN4737">4737</td><td class="line"> toplevel-&gt;priv-&gt;animation_duration_time = 0;</td></tr>
+<tr class="codeline" data-linenumber="4738"><td class="num" id="LN4738">4738</td><td class="line"> toplevel-&gt;priv-&gt;animation_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="4739"><td class="num" id="LN4739">4739</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4740"><td class="num" id="LN4740">4740</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4741"><td class="num" id="LN4741">4741</td><td class="line"> toplevel-&gt;priv-&gt;inner_frame = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4742"><td class="num" id="LN4742">4742</td><td class="line"> toplevel-&gt;priv-&gt;grid = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4743"><td class="num" id="LN4743">4743</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_top = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4744"><td class="num" id="LN4744">4744</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_bottom = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4745"><td class="num" id="LN4745">4745</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_left = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4746"><td class="num" id="LN4746">4746</td><td class="line"> toplevel-&gt;priv-&gt;hide_button_right = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4747"><td class="num" id="LN4747">4747</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4748"><td class="num" id="LN4748">4748</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4749"><td class="num" id="LN4749">4749</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4750"><td class="num" id="LN4750">4750</td><td class="line"> toplevel-&gt;priv-&gt;n_autohide_disablers = 0;</td></tr>
+<tr class="codeline" data-linenumber="4751"><td class="num" id="LN4751">4751</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4752"><td class="num" id="LN4752">4752</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_TOPLEVEL_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4753"><td class="num" id="LN4753">4753</td><td class="line"> toplevel-&gt;priv-&gt;attach_toplevel_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4754"><td class="num" id="LN4754">4754</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>N_ATTACH_WIDGET_SIGNALS<span class='macro_popup'>5</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="4755"><td class="num" id="LN4755">4755</td><td class="line"> toplevel-&gt;priv-&gt;attach_widget_signals [i] = 0;</td></tr>
+<tr class="codeline" data-linenumber="4756"><td class="num" id="LN4756">4756</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4757"><td class="num" id="LN4757">4757</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4758"><td class="num" id="LN4758">4758</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4759"><td class="num" id="LN4759">4759</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4760"><td class="num" id="LN4760">4760</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4761"><td class="num" id="LN4761">4761</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4762"><td class="num" id="LN4762">4762</td><td class="line"> toplevel-&gt;priv-&gt;animating = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4763"><td class="num" id="LN4763">4763</td><td class="line"> toplevel-&gt;priv-&gt;grab_is_keyboard = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4764"><td class="num" id="LN4764">4764</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4765"><td class="num" id="LN4765">4765</td><td class="line"> toplevel-&gt;priv-&gt;attached = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4766"><td class="num" id="LN4766">4766</td><td class="line"> toplevel-&gt;priv-&gt;attach_hidden = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4767"><td class="num" id="LN4767">4767</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4768"><td class="num" id="LN4768">4768</td><td class="line"> toplevel-&gt;priv-&gt;initial_animation_done = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4769"><td class="num" id="LN4769">4769</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4770"><td class="num" id="LN4770">4770</td><td class="line"> widget = <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4771"><td class="num" id="LN4771">4771</td><td class="line"> gtk_widget_add_events (widget,</td></tr>
+<tr class="codeline" data-linenumber="4772"><td class="num" id="LN4772">4772</td><td class="line"> GDK_BUTTON_PRESS_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4773"><td class="num" id="LN4773">4773</td><td class="line"> GDK_BUTTON_RELEASE_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4774"><td class="num" id="LN4774">4774</td><td class="line"> GDK_POINTER_MOTION_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4775"><td class="num" id="LN4775">4775</td><td class="line"> GDK_ENTER_NOTIFY_MASK |</td></tr>
+<tr class="codeline" data-linenumber="4776"><td class="num" id="LN4776">4776</td><td class="line"> GDK_LEAVE_NOTIFY_MASK);</td></tr>
+<tr class="codeline" data-linenumber="4777"><td class="num" id="LN4777">4777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4778"><td class="num" id="LN4778">4778</td><td class="line"> gtk_widget_set_app_paintable (widget, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4779"><td class="num" id="LN4779">4779</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4780"><td class="num" id="LN4780">4780</td><td class="line"> panel_toplevel_setup_widgets (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4781"><td class="num" id="LN4781">4781</td><td class="line"> panel_toplevel_update_description (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4782"><td class="num" id="LN4782">4782</td><td class="line"> panel_toplevel_update_gtk_settings (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4783"><td class="num" id="LN4783">4783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4784"><td class="num" id="LN4784">4784</td><td class="line"> toplevel_list = g_slist_prepend (toplevel_list, toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4785"><td class="num" id="LN4785">4785</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4786"><td class="num" id="LN4786">4786</td><td class="line"> <span class='comment'>/* Prevent the window from being deleted via Alt+F4 by accident. This</span></td></tr>
+<tr class="codeline" data-linenumber="4787"><td class="num" id="LN4787">4787</td><td class="line"> <span class='comment'>* happens with "alternative" window managers such as Sawfish or XFWM4.</span></td></tr>
+<tr class="codeline" data-linenumber="4788"><td class="num" id="LN4788">4788</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="4789"><td class="num" id="LN4789">4789</td><td class="line"> <span class='macro'>g_signal_connect (toplevel, <span class='string_literal'>"delete-event"</span>, G_CALLBACK(gtk_true), NULL)<span class='macro_popup'>g_signal_connect_data ((toplevel), ("delete-event"), (((GCallback<br>) (gtk_true))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4790"><td class="num" id="LN4790">4790</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4791"><td class="num" id="LN4791">4791</td><td class="line"> panel_background_init (&amp;toplevel-&gt;background,</td></tr>
+<tr class="codeline" data-linenumber="4792"><td class="num" id="LN4792">4792</td><td class="line"> (PanelBackgroundChangedNotify) background_changed,</td></tr>
+<tr class="codeline" data-linenumber="4793"><td class="num" id="LN4793">4793</td><td class="line"> toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4794"><td class="num" id="LN4794">4794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4795"><td class="num" id="LN4795">4795</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4796"><td class="num" id="LN4796">4796</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4797"><td class="num" id="LN4797">4797</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="4798"><td class="num" id="LN4798">4798</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ())<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gdk_display_get_default ())); GType __t = ((gdk_wayland_display_get_type<br>())); gboolean __r; if (!__inst) __r = (0); else if (__inst-&gt;<br>g_class &amp;&amp; __inst-&gt;g_class-&gt;g_type == __t) __r =<br> (!(0)); else __r = g_type_check_instance_is_a (__inst, __t);<br> __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="4799"><td class="num" id="LN4799">4799</td><td class="line"> wayland_panel_toplevel_init (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4800"><td class="num" id="LN4800">4800</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4801"><td class="num" id="LN4801">4801</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="4802"><td class="num" id="LN4802">4802</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4803"><td class="num" id="LN4803">4803</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4804"><td class="num" id="LN4804">4804</td><td class="line">PanelWidget *</td></tr>
+<tr class="codeline" data-linenumber="4805"><td class="num" id="LN4805">4805</td><td class="line">panel_toplevel_get_panel_widget (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4806"><td class="num" id="LN4806">4806</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4807"><td class="num" id="LN4807">4807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4808"><td class="num" id="LN4808">4808</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4809"><td class="num" id="LN4809">4809</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4810"><td class="num" id="LN4810">4810</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;panel_widget;</td></tr>
+<tr class="codeline" data-linenumber="4811"><td class="num" id="LN4811">4811</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4812"><td class="num" id="LN4812">4812</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4813"><td class="num" id="LN4813">4813</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4814"><td class="num" id="LN4814">4814</td><td class="line">panel_toplevel_update_name (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4815"><td class="num" id="LN4815">4815</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4816"><td class="num" id="LN4816">4816</td><td class="line"> <span class='keyword'>char</span> *title;</td></tr>
+<tr class="codeline" data-linenumber="4817"><td class="num" id="LN4817">4817</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4818"><td class="num" id="LN4818">4818</td><td class="line"> <span class='macro'>g_assert (toplevel-&gt;priv-&gt;description != NULL)<span class='macro_popup'>do { if (toplevel-&gt;priv-&gt;description != ((void*)0)) ; else<br> g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c", 4818<br>, ((const char*) (__func__)), "toplevel-&gt;priv-&gt;description != NULL"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4819"><td class="num" id="LN4819">4819</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4820"><td class="num" id="LN4820">4820</td><td class="line"> title = toplevel-&gt;priv-&gt;name ? toplevel-&gt;priv-&gt;name : toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4821"><td class="num" id="LN4821">4821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4822"><td class="num" id="LN4822">4822</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (toplevel)<span class='macro_popup'>((((GtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_window_get_type ()))))))</span></span>, title);</td></tr>
+<tr class="codeline" data-linenumber="4823"><td class="num" id="LN4823">4823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4824"><td class="num" id="LN4824">4824</td><td class="line"> panel_a11y_set_atk_name_desc (</td></tr>
+<tr class="codeline" data-linenumber="4825"><td class="num" id="LN4825">4825</td><td class="line"> <span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="4826"><td class="num" id="LN4826">4826</td><td class="line"> title, toplevel-&gt;priv-&gt;description);</td></tr>
+<tr class="codeline" data-linenumber="4827"><td class="num" id="LN4827">4827</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4828"><td class="num" id="LN4828">4828</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4829"><td class="num" id="LN4829">4829</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4830"><td class="num" id="LN4830">4830</td><td class="line">panel_toplevel_set_name (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4831"><td class="num" id="LN4831">4831</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name)</td></tr>
+<tr class="codeline" data-linenumber="4832"><td class="num" id="LN4832">4832</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4833"><td class="num" id="LN4833">4833</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4834"><td class="num" id="LN4834">4834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4835"><td class="num" id="LN4835">4835</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;name &amp;&amp; (!name || !name [0]))</td></tr>
+<tr class="codeline" data-linenumber="4836"><td class="num" id="LN4836">4836</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4837"><td class="num" id="LN4837">4837</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4838"><td class="num" id="LN4838">4838</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;name &amp;&amp; name &amp;&amp; name [0] &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4839"><td class="num" id="LN4839">4839</td><td class="line"> !strcmp (toplevel-&gt;priv-&gt;name, name))</td></tr>
+<tr class="codeline" data-linenumber="4840"><td class="num" id="LN4840">4840</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4841"><td class="num" id="LN4841">4841</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4842"><td class="num" id="LN4842">4842</td><td class="line"> g_free (toplevel-&gt;priv-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="4843"><td class="num" id="LN4843">4843</td><td class="line"> <span class='keyword'>if</span> (name &amp;&amp; name [0])</td></tr>
+<tr class="codeline" data-linenumber="4844"><td class="num" id="LN4844">4844</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>g_strdup (name)<span class='macro_popup'>g_strdup_inline (name)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4845"><td class="num" id="LN4845">4845</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="4846"><td class="num" id="LN4846">4846</td><td class="line"> toplevel-&gt;priv-&gt;name = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4847"><td class="num" id="LN4847">4847</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4848"><td class="num" id="LN4848">4848</td><td class="line"> panel_toplevel_update_name (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="4849"><td class="num" id="LN4849">4849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4850"><td class="num" id="LN4850">4850</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"name"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4851"><td class="num" id="LN4851">4851</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4852"><td class="num" id="LN4852">4852</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4853"><td class="num" id="LN4853">4853</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4854"><td class="num" id="LN4854">4854</td><td class="line">panel_toplevel_set_settings_path (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4855"><td class="num" id="LN4855">4855</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *settings_path)</td></tr>
+<tr class="codeline" data-linenumber="4856"><td class="num" id="LN4856">4856</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4857"><td class="num" id="LN4857">4857</td><td class="line"> toplevel-&gt;priv-&gt;settings_path = <span class='macro'>g_strdup (settings_path)<span class='macro_popup'>g_strdup_inline (settings_path)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4858"><td class="num" id="LN4858">4858</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4859"><td class="num" id="LN4859">4859</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4860"><td class="num" id="LN4860">4860</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_name(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4861"><td class="num" id="LN4861">4861</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4862"><td class="num" id="LN4862">4862</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4863"><td class="num" id="LN4863">4863</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4864"><td class="num" id="LN4864">4864</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;name;</td></tr>
+<tr class="codeline" data-linenumber="4865"><td class="num" id="LN4865">4865</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4866"><td class="num" id="LN4866">4866</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4867"><td class="num" id="LN4867">4867</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span>* panel_toplevel_get_description(PanelToplevel* toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4868"><td class="num" id="LN4868">4868</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4869"><td class="num" id="LN4869">4869</td><td class="line"> <span class='macro'>g_return_val_if_fail(PANEL_IS_TOPLEVEL(toplevel), NULL)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL(toplevel)"); return (((void<br>*)0)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4870"><td class="num" id="LN4870">4870</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4871"><td class="num" id="LN4871">4871</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;description;</td></tr>
+<tr class="codeline" data-linenumber="4872"><td class="num" id="LN4872">4872</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4873"><td class="num" id="LN4873">4873</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4874"><td class="num" id="LN4874">4874</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4875"><td class="num" id="LN4875">4875</td><td class="line">panel_toplevel_set_expand (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4876"><td class="num" id="LN4876">4876</td><td class="line"> gboolean expand)</td></tr>
+<tr class="codeline" data-linenumber="4877"><td class="num" id="LN4877">4877</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4878"><td class="num" id="LN4878">4878</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4879"><td class="num" id="LN4879">4879</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4880"><td class="num" id="LN4880">4880</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;attached &amp;&amp; expand) {</td></tr>
+<tr class="codeline" data-linenumber="4881"><td class="num" id="LN4881">4881</td><td class="line"> g_warning (<span class='string_literal'>"attempt to expand attached toplevel; ignoring"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4882"><td class="num" id="LN4882">4882</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4883"><td class="num" id="LN4883">4883</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4884"><td class="num" id="LN4884">4884</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4885"><td class="num" id="LN4885">4885</td><td class="line"> expand = expand != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4886"><td class="num" id="LN4886">4886</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4887"><td class="num" id="LN4887">4887</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;expand == expand)</td></tr>
+<tr class="codeline" data-linenumber="4888"><td class="num" id="LN4888">4888</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4889"><td class="num" id="LN4889">4889</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4890"><td class="num" id="LN4890">4890</td><td class="line"> toplevel-&gt;priv-&gt;expand = expand;</td></tr>
+<tr class="codeline" data-linenumber="4891"><td class="num" id="LN4891">4891</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4892"><td class="num" id="LN4892">4892</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;expand &amp;&amp; toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4893"><td class="num" id="LN4893">4893</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="4894"><td class="num" id="LN4894">4894</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_TOP:</td></tr>
+<tr class="codeline" data-linenumber="4895"><td class="num" id="LN4895">4895</td><td class="line"> panel_toplevel_set_x (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4896"><td class="num" id="LN4896">4896</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4897"><td class="num" id="LN4897">4897</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_BOTTOM:</td></tr>
+<tr class="codeline" data-linenumber="4898"><td class="num" id="LN4898">4898</td><td class="line"> panel_toplevel_set_x (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4899"><td class="num" id="LN4899">4899</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4900"><td class="num" id="LN4900">4900</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="4901"><td class="num" id="LN4901">4901</td><td class="line"> panel_toplevel_set_y (toplevel, 0, -1, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4902"><td class="num" id="LN4902">4902</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4903"><td class="num" id="LN4903">4903</td><td class="line"> <span class='keyword'>case</span> PANEL_ORIENTATION_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="4904"><td class="num" id="LN4904">4904</td><td class="line"> panel_toplevel_set_y (toplevel, 0, 0, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4905"><td class="num" id="LN4905">4905</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4906"><td class="num" id="LN4906">4906</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="4907"><td class="num" id="LN4907">4907</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-toplevel.c"<br>, 4907, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4908"><td class="num" id="LN4908">4908</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="4909"><td class="num" id="LN4909">4909</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4910"><td class="num" id="LN4910">4910</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4911"><td class="num" id="LN4911">4911</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4912"><td class="num" id="LN4912">4912</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4913"><td class="num" id="LN4913">4913</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4914"><td class="num" id="LN4914">4914</td><td class="line"> panel_widget_set_packed (toplevel-&gt;priv-&gt;panel_widget, !toplevel-&gt;priv-&gt;expand);</td></tr>
+<tr class="codeline" data-linenumber="4915"><td class="num" id="LN4915">4915</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4916"><td class="num" id="LN4916">4916</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"expand"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4917"><td class="num" id="LN4917">4917</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4918"><td class="num" id="LN4918">4918</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4919"><td class="num" id="LN4919">4919</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4920"><td class="num" id="LN4920">4920</td><td class="line">panel_toplevel_get_expand (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4921"><td class="num" id="LN4921">4921</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4922"><td class="num" id="LN4922">4922</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4923"><td class="num" id="LN4923">4923</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4924"><td class="num" id="LN4924">4924</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;expand;</td></tr>
+<tr class="codeline" data-linenumber="4925"><td class="num" id="LN4925">4925</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4926"><td class="num" id="LN4926">4926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4927"><td class="num" id="LN4927">4927</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="4928"><td class="num" id="LN4928">4928</td><td class="line">panel_toplevel_get_is_floating (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="4929"><td class="num" id="LN4929">4929</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4930"><td class="num" id="LN4930">4930</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), TRUE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((!(0)<br>)); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4931"><td class="num" id="LN4931">4931</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4932"><td class="num" id="LN4932">4932</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;floating;</td></tr>
+<tr class="codeline" data-linenumber="4933"><td class="num" id="LN4933">4933</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="4934"><td class="num" id="LN4934">4934</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4935"><td class="num" id="LN4935">4935</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="4936"><td class="num" id="LN4936">4936</td><td class="line">panel_toplevel_set_orientation (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="4937"><td class="num" id="LN4937">4937</td><td class="line"> PanelOrientation orientation)</td></tr>
+<tr class="codeline" data-linenumber="4938"><td class="num" id="LN4938">4938</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="4939"><td class="num" id="LN4939">4939</td><td class="line"> gboolean rotate;</td></tr>
+<tr class="codeline" data-linenumber="4940"><td class="num" id="LN4940">4940</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="4941"><td class="num" id="LN4941">4941</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4942"><td class="num" id="LN4942">4942</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4943"><td class="num" id="LN4943">4943</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4944"><td class="num" id="LN4944">4944</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation == orientation)</td></tr>
+<tr class="codeline" data-linenumber="4945"><td class="num" id="LN4945">4945</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="4946"><td class="num" id="LN4946">4946</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4947"><td class="num" id="LN4947">4947</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="4948"><td class="num" id="LN4948">4948</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4949"><td class="num" id="LN4949">4949</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="4950"><td class="num" id="LN4950">4950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4951"><td class="num" id="LN4951">4951</td><td class="line"> <span class='comment'>/* Un-snap from center if no longer along screen edge */</span></td></tr>
+<tr class="codeline" data-linenumber="4952"><td class="num" id="LN4952">4952</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4953"><td class="num" id="LN4953">4953</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4954"><td class="num" id="LN4954">4954</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4955"><td class="num" id="LN4955">4955</td><td class="line"> toplevel-&gt;priv-&gt;x = (monitor_geom.width - toplevel-&gt;priv-&gt;geometry.width) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4956"><td class="num" id="LN4956">4956</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4957"><td class="num" id="LN4957">4957</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4958"><td class="num" id="LN4958">4958</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4959"><td class="num" id="LN4959">4959</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4960"><td class="num" id="LN4960">4960</td><td class="line"> toplevel-&gt;priv-&gt;x_right = -1;</td></tr>
+<tr class="codeline" data-linenumber="4961"><td class="num" id="LN4961">4961</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4962"><td class="num" id="LN4962">4962</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4963"><td class="num" id="LN4963">4963</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4964"><td class="num" id="LN4964">4964</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4965"><td class="num" id="LN4965">4965</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4966"><td class="num" id="LN4966">4966</td><td class="line"> (orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="4967"><td class="num" id="LN4967">4967</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4968"><td class="num" id="LN4968">4968</td><td class="line"> toplevel-&gt;priv-&gt;y = (monitor_geom.height - toplevel-&gt;priv-&gt;geometry.height) / 2;</td></tr>
+<tr class="codeline" data-linenumber="4969"><td class="num" id="LN4969">4969</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4970"><td class="num" id="LN4970">4970</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4971"><td class="num" id="LN4971">4971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4972"><td class="num" id="LN4972">4972</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != -1) {</td></tr>
+<tr class="codeline" data-linenumber="4973"><td class="num" id="LN4973">4973</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = -1;</td></tr>
+<tr class="codeline" data-linenumber="4974"><td class="num" id="LN4974">4974</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4975"><td class="num" id="LN4975">4975</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4976"><td class="num" id="LN4976">4976</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4977"><td class="num" id="LN4977">4977</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4978"><td class="num" id="LN4978">4978</td><td class="line"> rotate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4979"><td class="num" id="LN4979">4979</td><td class="line"> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4980"><td class="num" id="LN4980">4980</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4981"><td class="num" id="LN4981">4981</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4982"><td class="num" id="LN4982">4982</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> ((orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4983"><td class="num" id="LN4983">4983</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="4984"><td class="num" id="LN4984">4984</td><td class="line"> rotate = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4985"><td class="num" id="LN4985">4985</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4986"><td class="num" id="LN4986">4986</td><td class="line"> <span class='comment'>/* rotate around the center */</span></td></tr>
+<tr class="codeline" data-linenumber="4987"><td class="num" id="LN4987">4987</td><td class="line"> <span class='keyword'>if</span> (rotate &amp;&amp; !toplevel-&gt;priv-&gt;position_centered &amp;&amp; !toplevel-&gt;priv-&gt;expand &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="4988"><td class="num" id="LN4988">4988</td><td class="line"> toplevel-&gt;priv-&gt;updated_geometry_initial) {</td></tr>
+<tr class="codeline" data-linenumber="4989"><td class="num" id="LN4989">4989</td><td class="line"> toplevel-&gt;priv-&gt;position_centered = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="4990"><td class="num" id="LN4990">4990</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4991"><td class="num" id="LN4991">4991</td><td class="line"> <span class='comment'>/* x, y temporary refer to the panel center, so we don't care</span></td></tr>
+<tr class="codeline" data-linenumber="4992"><td class="num" id="LN4992">4992</td><td class="line"> <span class='comment'>* about x_right, y_bottom. Those will get updated in</span></td></tr>
+<tr class="codeline" data-linenumber="4993"><td class="num" id="LN4993">4993</td><td class="line"> <span class='comment'>* panel_toplevel_update_position() accordingly. */</span></td></tr>
+<tr class="codeline" data-linenumber="4994"><td class="num" id="LN4994">4994</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="4995"><td class="num" id="LN4995">4995</td><td class="line"> toplevel-&gt;priv-&gt;x += toplevel-&gt;priv-&gt;geometry.width / 2;</td></tr>
+<tr class="codeline" data-linenumber="4996"><td class="num" id="LN4996">4996</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="4997"><td class="num" id="LN4997">4997</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="4998"><td class="num" id="LN4998">4998</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="4999"><td class="num" id="LN4999">4999</td><td class="line"> <span class='keyword'>if</span> (!toplevel-&gt;priv-&gt;y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5000"><td class="num" id="LN5000">5000</td><td class="line"> toplevel-&gt;priv-&gt;y += toplevel-&gt;priv-&gt;geometry.height / 2;</td></tr>
+<tr class="codeline" data-linenumber="5001"><td class="num" id="LN5001">5001</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5002"><td class="num" id="LN5002">5002</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5003"><td class="num" id="LN5003">5003</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5004"><td class="num" id="LN5004">5004</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5005"><td class="num" id="LN5005">5005</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5006"><td class="num" id="LN5006">5006</td><td class="line"> toplevel-&gt;priv-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="5007"><td class="num" id="LN5007">5007</td><td class="line"> update_style_classes (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5008"><td class="num" id="LN5008">5008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5009"><td class="num" id="LN5009">5009</td><td class="line"> gtk_widget_reset_style (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5010"><td class="num" id="LN5010">5010</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5011"><td class="num" id="LN5011">5011</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5012"><td class="num" id="LN5012">5012</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5013"><td class="num" id="LN5013">5013</td><td class="line"> panel_widget_set_orientation (</td></tr>
+<tr class="codeline" data-linenumber="5014"><td class="num" id="LN5014">5014</td><td class="line"> toplevel-&gt;priv-&gt;panel_widget,</td></tr>
+<tr class="codeline" data-linenumber="5015"><td class="num" id="LN5015">5015</td><td class="line"> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>) ?</td></tr>
+<tr class="codeline" data-linenumber="5016"><td class="num" id="LN5016">5016</td><td class="line"> GTK_ORIENTATION_HORIZONTAL :</td></tr>
+<tr class="codeline" data-linenumber="5017"><td class="num" id="LN5017">5017</td><td class="line"> GTK_ORIENTATION_VERTICAL);</td></tr>
+<tr class="codeline" data-linenumber="5018"><td class="num" id="LN5018">5018</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5019"><td class="num" id="LN5019">5019</td><td class="line"> <span class='keyword'>switch</span> (toplevel-&gt;priv-&gt;state) {</td></tr>
+<tr class="codeline" data-linenumber="5020"><td class="num" id="LN5020">5020</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_UP:</td></tr>
+<tr class="codeline" data-linenumber="5021"><td class="num" id="LN5021">5021</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5022"><td class="num" id="LN5022">5022</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5023"><td class="num" id="LN5023">5023</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5024"><td class="num" id="LN5024">5024</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_DOWN:</td></tr>
+<tr class="codeline" data-linenumber="5025"><td class="num" id="LN5025">5025</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5026"><td class="num" id="LN5026">5026</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_RIGHT;</td></tr>
+<tr class="codeline" data-linenumber="5027"><td class="num" id="LN5027">5027</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5028"><td class="num" id="LN5028">5028</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_LEFT:</td></tr>
+<tr class="codeline" data-linenumber="5029"><td class="num" id="LN5029">5029</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5030"><td class="num" id="LN5030">5030</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_UP;</td></tr>
+<tr class="codeline" data-linenumber="5031"><td class="num" id="LN5031">5031</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5032"><td class="num" id="LN5032">5032</td><td class="line"> <span class='keyword'>case</span> PANEL_STATE_HIDDEN_RIGHT:</td></tr>
+<tr class="codeline" data-linenumber="5033"><td class="num" id="LN5033">5033</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_VERTICAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_LEFT | PANEL_ORIENTATION_RIGHT)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5034"><td class="num" id="LN5034">5034</td><td class="line"> toplevel-&gt;priv-&gt;state = PANEL_STATE_HIDDEN_DOWN;</td></tr>
+<tr class="codeline" data-linenumber="5035"><td class="num" id="LN5035">5035</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5036"><td class="num" id="LN5036">5036</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="5037"><td class="num" id="LN5037">5037</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="5038"><td class="num" id="LN5038">5038</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5039"><td class="num" id="LN5039">5039</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5040"><td class="num" id="LN5040">5040</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5041"><td class="num" id="LN5041">5041</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5042"><td class="num" id="LN5042">5042</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"orientation"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5043"><td class="num" id="LN5043">5043</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5044"><td class="num" id="LN5044">5044</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5045"><td class="num" id="LN5045">5045</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5046"><td class="num" id="LN5046">5046</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_WAYLAND<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="5047"><td class="num" id="LN5047">5047</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (toplevel)))<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(gtk_widget_get_display (((((GtkWidget*) (void *) g_type_check_instance_cast<br> ((GTypeInstance*) ((toplevel)), ((gtk_widget_get_type ()))))<br>))))); GType __t = ((gdk_wayland_display_get_type())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="5048"><td class="num" id="LN5048">5048</td><td class="line"> wayland_panel_toplevel_update_placement (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5049"><td class="num" id="LN5049">5049</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5050"><td class="num" id="LN5050">5050</td><td class="line"><span class='directive'>#endif /* HAVE_WAYLAND */</span></td></tr>
+<tr class="codeline" data-linenumber="5051"><td class="num" id="LN5051">5051</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5052"><td class="num" id="LN5052">5052</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5053"><td class="num" id="LN5053">5053</td><td class="line">PanelOrientation</td></tr>
+<tr class="codeline" data-linenumber="5054"><td class="num" id="LN5054">5054</td><td class="line">panel_toplevel_get_orientation (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5055"><td class="num" id="LN5055">5055</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5056"><td class="num" id="LN5056">5056</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), PANEL_ORIENTATION_TOP)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (PANEL_ORIENTATION_TOP<br>); } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5057"><td class="num" id="LN5057">5057</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5058"><td class="num" id="LN5058">5058</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5059"><td class="num" id="LN5059">5059</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5060"><td class="num" id="LN5060">5060</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5061"><td class="num" id="LN5061">5061</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5062"><td class="num" id="LN5062">5062</td><td class="line">panel_toplevel_set_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5063"><td class="num" id="LN5063">5063</td><td class="line"> <span class='keyword'>int</span> size)</td></tr>
+<tr class="codeline" data-linenumber="5064"><td class="num" id="LN5064">5064</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5065"><td class="num" id="LN5065">5065</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5066"><td class="num" id="LN5066">5066</td><td class="line"> <span class='macro'>g_return_if_fail (size &gt;= 0)<span class='macro_popup'>do { if ((size &gt;= 0)) { } else { g_return_if_fail_warning (<br>((gchar*) 0), ((const char*) (__func__)), "size &gt;= 0"); return<br>; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5067"><td class="num" id="LN5067">5067</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5068"><td class="num" id="LN5068">5068</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;size == size)</td></tr>
+<tr class="codeline" data-linenumber="5069"><td class="num" id="LN5069">5069</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5070"><td class="num" id="LN5070">5070</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5071"><td class="num" id="LN5071">5071</td><td class="line"> toplevel-&gt;priv-&gt;size = size;</td></tr>
+<tr class="codeline" data-linenumber="5072"><td class="num" id="LN5072">5072</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5073"><td class="num" id="LN5073">5073</td><td class="line"> panel_widget_set_size (toplevel-&gt;priv-&gt;panel_widget, toplevel-&gt;priv-&gt;size);</td></tr>
+<tr class="codeline" data-linenumber="5074"><td class="num" id="LN5074">5074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5075"><td class="num" id="LN5075">5075</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5076"><td class="num" id="LN5076">5076</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5077"><td class="num" id="LN5077">5077</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5078"><td class="num" id="LN5078">5078</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5079"><td class="num" id="LN5079">5079</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5080"><td class="num" id="LN5080">5080</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5081"><td class="num" id="LN5081">5081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5082"><td class="num" id="LN5082">5082</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5083"><td class="num" id="LN5083">5083</td><td class="line">panel_toplevel_get_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5084"><td class="num" id="LN5084">5084</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5085"><td class="num" id="LN5085">5085</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (48); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5086"><td class="num" id="LN5086">5086</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5087"><td class="num" id="LN5087">5087</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;size;</td></tr>
+<tr class="codeline" data-linenumber="5088"><td class="num" id="LN5088">5088</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5089"><td class="num" id="LN5089">5089</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5090"><td class="num" id="LN5090">5090</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5091"><td class="num" id="LN5091">5091</td><td class="line">panel_toplevel_set_auto_hide_size (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5092"><td class="num" id="LN5092">5092</td><td class="line"> <span class='keyword'>int</span> auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5093"><td class="num" id="LN5093">5093</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5094"><td class="num" id="LN5094">5094</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5095"><td class="num" id="LN5095">5095</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5096"><td class="num" id="LN5096">5096</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide_size == auto_hide_size)</td></tr>
+<tr class="codeline" data-linenumber="5097"><td class="num" id="LN5097">5097</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5098"><td class="num" id="LN5098">5098</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5099"><td class="num" id="LN5099">5099</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide_size = auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5100"><td class="num" id="LN5100">5100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5101"><td class="num" id="LN5101">5101</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_AUTO_HIDDEN) {</td></tr>
+<tr class="codeline" data-linenumber="5102"><td class="num" id="LN5102">5102</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)) {</td></tr>
+<tr class="codeline" data-linenumber="5103"><td class="num" id="LN5103">5103</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate) {</td></tr>
+<tr class="codeline" data-linenumber="5104"><td class="num" id="LN5104">5104</td><td class="line"> panel_toplevel_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5105"><td class="num" id="LN5105">5105</td><td class="line"> panel_toplevel_hide (toplevel, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, -1);</td></tr>
+<tr class="codeline" data-linenumber="5106"><td class="num" id="LN5106">5106</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5107"><td class="num" id="LN5107">5107</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5108"><td class="num" id="LN5108">5108</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5109"><td class="num" id="LN5109">5109</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5110"><td class="num" id="LN5110">5110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5111"><td class="num" id="LN5111">5111</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide-size"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5112"><td class="num" id="LN5112">5112</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5113"><td class="num" id="LN5113">5113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5114"><td class="num" id="LN5114">5114</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5115"><td class="num" id="LN5115">5115</td><td class="line">panel_toplevel_get_auto_hide_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5116"><td class="num" id="LN5116">5116</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5117"><td class="num" id="LN5117">5117</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), DEFAULT_AUTO_HIDE_SIZE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5118"><td class="num" id="LN5118">5118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5119"><td class="num" id="LN5119">5119</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide_size;</td></tr>
+<tr class="codeline" data-linenumber="5120"><td class="num" id="LN5120">5120</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5121"><td class="num" id="LN5121">5121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5122"><td class="num" id="LN5122">5122</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5123"><td class="num" id="LN5123">5123</td><td class="line">panel_toplevel_set_x (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5124"><td class="num" id="LN5124">5124</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="5125"><td class="num" id="LN5125">5125</td><td class="line"> <span class='keyword'>int</span> x_right,</td></tr>
+<tr class="codeline" data-linenumber="5126"><td class="num" id="LN5126">5126</td><td class="line"> gboolean x_centered)</td></tr>
+<tr class="codeline" data-linenumber="5127"><td class="num" id="LN5127">5127</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5128"><td class="num" id="LN5128">5128</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5129"><td class="num" id="LN5129">5129</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5130"><td class="num" id="LN5130">5130</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5131"><td class="num" id="LN5131">5131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5132"><td class="num" id="LN5132">5132</td><td class="line"> x_centered = x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5133"><td class="num" id="LN5133">5133</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5134"><td class="num" id="LN5134">5134</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5135"><td class="num" id="LN5135">5135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5136"><td class="num" id="LN5136">5136</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x != x) {</td></tr>
+<tr class="codeline" data-linenumber="5137"><td class="num" id="LN5137">5137</td><td class="line"> toplevel-&gt;priv-&gt;x = x;</td></tr>
+<tr class="codeline" data-linenumber="5138"><td class="num" id="LN5138">5138</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5139"><td class="num" id="LN5139">5139</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5140"><td class="num" id="LN5140">5140</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5141"><td class="num" id="LN5141">5141</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5142"><td class="num" id="LN5142">5142</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_right != x_right) {</td></tr>
+<tr class="codeline" data-linenumber="5143"><td class="num" id="LN5143">5143</td><td class="line"> toplevel-&gt;priv-&gt;x_right = x_right;</td></tr>
+<tr class="codeline" data-linenumber="5144"><td class="num" id="LN5144">5144</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5145"><td class="num" id="LN5145">5145</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-right"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5146"><td class="num" id="LN5146">5146</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5147"><td class="num" id="LN5147">5147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5148"><td class="num" id="LN5148">5148</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;x_centered != x_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5149"><td class="num" id="LN5149">5149</td><td class="line"> toplevel-&gt;priv-&gt;x_centered = (x_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5150"><td class="num" id="LN5150">5150</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5151"><td class="num" id="LN5151">5151</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"x-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5152"><td class="num" id="LN5152">5152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5153"><td class="num" id="LN5153">5153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5154"><td class="num" id="LN5154">5154</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5155"><td class="num" id="LN5155">5155</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5156"><td class="num" id="LN5156">5156</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5157"><td class="num" id="LN5157">5157</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5158"><td class="num" id="LN5158">5158</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5159"><td class="num" id="LN5159">5159</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5160"><td class="num" id="LN5160">5160</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5161"><td class="num" id="LN5161">5161</td><td class="line">panel_toplevel_set_y (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5162"><td class="num" id="LN5162">5162</td><td class="line"> <span class='keyword'>int</span> y,</td></tr>
+<tr class="codeline" data-linenumber="5163"><td class="num" id="LN5163">5163</td><td class="line"> <span class='keyword'>int</span> y_bottom,</td></tr>
+<tr class="codeline" data-linenumber="5164"><td class="num" id="LN5164">5164</td><td class="line"> gboolean y_centered)</td></tr>
+<tr class="codeline" data-linenumber="5165"><td class="num" id="LN5165">5165</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5166"><td class="num" id="LN5166">5166</td><td class="line"> gboolean changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5167"><td class="num" id="LN5167">5167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5168"><td class="num" id="LN5168">5168</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5169"><td class="num" id="LN5169">5169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5170"><td class="num" id="LN5170">5170</td><td class="line"> y_centered = y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5171"><td class="num" id="LN5171">5171</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5172"><td class="num" id="LN5172">5172</td><td class="line"> g_object_freeze_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5173"><td class="num" id="LN5173">5173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5174"><td class="num" id="LN5174">5174</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y != y) {</td></tr>
+<tr class="codeline" data-linenumber="5175"><td class="num" id="LN5175">5175</td><td class="line"> toplevel-&gt;priv-&gt;y = y;</td></tr>
+<tr class="codeline" data-linenumber="5176"><td class="num" id="LN5176">5176</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5177"><td class="num" id="LN5177">5177</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5178"><td class="num" id="LN5178">5178</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5179"><td class="num" id="LN5179">5179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5180"><td class="num" id="LN5180">5180</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_bottom != y_bottom) {</td></tr>
+<tr class="codeline" data-linenumber="5181"><td class="num" id="LN5181">5181</td><td class="line"> toplevel-&gt;priv-&gt;y_bottom = y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5182"><td class="num" id="LN5182">5182</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5183"><td class="num" id="LN5183">5183</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-bottom"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5184"><td class="num" id="LN5184">5184</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5185"><td class="num" id="LN5185">5185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5186"><td class="num" id="LN5186">5186</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;y_centered != y_centered) {</td></tr>
+<tr class="codeline" data-linenumber="5187"><td class="num" id="LN5187">5187</td><td class="line"> toplevel-&gt;priv-&gt;y_centered = (y_centered != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5188"><td class="num" id="LN5188">5188</td><td class="line"> changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5189"><td class="num" id="LN5189">5189</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"y-centered"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5190"><td class="num" id="LN5190">5190</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5191"><td class="num" id="LN5191">5191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5192"><td class="num" id="LN5192">5192</td><td class="line"> <span class='keyword'>if</span> (changed)</td></tr>
+<tr class="codeline" data-linenumber="5193"><td class="num" id="LN5193">5193</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5194"><td class="num" id="LN5194">5194</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5195"><td class="num" id="LN5195">5195</td><td class="line"> g_object_thaw_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5196"><td class="num" id="LN5196">5196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5197"><td class="num" id="LN5197">5197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5198"><td class="num" id="LN5198">5198</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5199"><td class="num" id="LN5199">5199</td><td class="line">panel_toplevel_get_position (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5200"><td class="num" id="LN5200">5200</td><td class="line"> <span class='keyword'>int</span> *x,</td></tr>
+<tr class="codeline" data-linenumber="5201"><td class="num" id="LN5201">5201</td><td class="line"> <span class='keyword'>int</span> *x_right,</td></tr>
+<tr class="codeline" data-linenumber="5202"><td class="num" id="LN5202">5202</td><td class="line"> <span class='keyword'>int</span> *y,</td></tr>
+<tr class="codeline" data-linenumber="5203"><td class="num" id="LN5203">5203</td><td class="line"> <span class='keyword'>int</span> *y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5204"><td class="num" id="LN5204">5204</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5205"><td class="num" id="LN5205">5205</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5206"><td class="num" id="LN5206">5206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5207"><td class="num" id="LN5207">5207</td><td class="line"> <span class='keyword'>if</span> (x)</td></tr>
+<tr class="codeline" data-linenumber="5208"><td class="num" id="LN5208">5208</td><td class="line"> *x = toplevel-&gt;priv-&gt;x;</td></tr>
+<tr class="codeline" data-linenumber="5209"><td class="num" id="LN5209">5209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5210"><td class="num" id="LN5210">5210</td><td class="line"> <span class='keyword'>if</span> (y)</td></tr>
+<tr class="codeline" data-linenumber="5211"><td class="num" id="LN5211">5211</td><td class="line"> *y = toplevel-&gt;priv-&gt;y;</td></tr>
+<tr class="codeline" data-linenumber="5212"><td class="num" id="LN5212">5212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5213"><td class="num" id="LN5213">5213</td><td class="line"> <span class='keyword'>if</span> (x_right)</td></tr>
+<tr class="codeline" data-linenumber="5214"><td class="num" id="LN5214">5214</td><td class="line"> *x_right = toplevel-&gt;priv-&gt;x_right;</td></tr>
+<tr class="codeline" data-linenumber="5215"><td class="num" id="LN5215">5215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5216"><td class="num" id="LN5216">5216</td><td class="line"> <span class='keyword'>if</span> (y_bottom)</td></tr>
+<tr class="codeline" data-linenumber="5217"><td class="num" id="LN5217">5217</td><td class="line"> *y_bottom = toplevel-&gt;priv-&gt;y_bottom;</td></tr>
+<tr class="codeline" data-linenumber="5218"><td class="num" id="LN5218">5218</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5219"><td class="num" id="LN5219">5219</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5220"><td class="num" id="LN5220">5220</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5221"><td class="num" id="LN5221">5221</td><td class="line">panel_toplevel_get_x_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5222"><td class="num" id="LN5222">5222</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5223"><td class="num" id="LN5223">5223</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5224"><td class="num" id="LN5224">5224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5225"><td class="num" id="LN5225">5225</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;x_centered;</td></tr>
+<tr class="codeline" data-linenumber="5226"><td class="num" id="LN5226">5226</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5227"><td class="num" id="LN5227">5227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5228"><td class="num" id="LN5228">5228</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5229"><td class="num" id="LN5229">5229</td><td class="line">panel_toplevel_get_y_centered (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5230"><td class="num" id="LN5230">5230</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5231"><td class="num" id="LN5231">5231</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5232"><td class="num" id="LN5232">5232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5233"><td class="num" id="LN5233">5233</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;y_centered;</td></tr>
+<tr class="codeline" data-linenumber="5234"><td class="num" id="LN5234">5234</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5235"><td class="num" id="LN5235">5235</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5236"><td class="num" id="LN5236">5236</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5237"><td class="num" id="LN5237">5237</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal:</span></td></tr>
+<tr class="codeline" data-linenumber="5238"><td class="num" id="LN5238">5238</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5239"><td class="num" id="LN5239">5239</td><td class="line"> <span class='comment'>* Sets the monitor of the toplevel, but only the internal state. We need to</span></td></tr>
+<tr class="codeline" data-linenumber="5240"><td class="num" id="LN5240">5240</td><td class="line"> <span class='comment'>* make the difference between the internal state and the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5241"><td class="num" id="LN5241">5241</td><td class="line"> <span class='comment'>* user because internal constraints might affect the monitor of the toplevel.</span></td></tr>
+<tr class="codeline" data-linenumber="5242"><td class="num" id="LN5242">5242</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5243"><td class="num" id="LN5243">5243</td><td class="line"> <span class='comment'>* panel_toplevel_set_monitor_internal() won't update the configuration of the</span></td></tr>
+<tr class="codeline" data-linenumber="5244"><td class="num" id="LN5244">5244</td><td class="line"> <span class='comment'>* user.</span></td></tr>
+<tr class="codeline" data-linenumber="5245"><td class="num" id="LN5245">5245</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5246"><td class="num" id="LN5246">5246</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5247"><td class="num" id="LN5247">5247</td><td class="line">panel_toplevel_set_monitor_internal (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5248"><td class="num" id="LN5248">5248</td><td class="line"> <span class='keyword'>int</span> monitor,</td></tr>
+<tr class="codeline" data-linenumber="5249"><td class="num" id="LN5249">5249</td><td class="line"> gboolean force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5250"><td class="num" id="LN5250">5250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5251"><td class="num" id="LN5251">5251</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5252"><td class="num" id="LN5252">5252</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5253"><td class="num" id="LN5253">5253</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5254"><td class="num" id="LN5254">5254</td><td class="line"> toplevel-&gt;priv-&gt;monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5255"><td class="num" id="LN5255">5255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5256"><td class="num" id="LN5256">5256</td><td class="line"> <span class='keyword'>if</span> (force_resize)</td></tr>
+<tr class="codeline" data-linenumber="5257"><td class="num" id="LN5257">5257</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5258"><td class="num" id="LN5258">5258</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5259"><td class="num" id="LN5259">5259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5260"><td class="num" id="LN5260">5260</td><td class="line"><span class='comment'>/**</span></td></tr>
+<tr class="codeline" data-linenumber="5261"><td class="num" id="LN5261">5261</td><td class="line"> <span class='comment'>* panel_toplevel_update_monitor:</span></td></tr>
+<tr class="codeline" data-linenumber="5262"><td class="num" id="LN5262">5262</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5263"><td class="num" id="LN5263">5263</td><td class="line"> <span class='comment'>* Moves the toplevel to its configured monitor or the first one, if needed.</span></td></tr>
+<tr class="codeline" data-linenumber="5264"><td class="num" id="LN5264">5264</td><td class="line"> <span class='comment'>* This generally happens when the configured monitor was non-existing before,</span></td></tr>
+<tr class="codeline" data-linenumber="5265"><td class="num" id="LN5265">5265</td><td class="line"> <span class='comment'>* and it appeared at runtime, or if it was existing and disappeared.</span></td></tr>
+<tr class="codeline" data-linenumber="5266"><td class="num" id="LN5266">5266</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5267"><td class="num" id="LN5267">5267</td><td class="line"> <span class='comment'>* This must only be called at the beginning of the size request of the</span></td></tr>
+<tr class="codeline" data-linenumber="5268"><td class="num" id="LN5268">5268</td><td class="line"> <span class='comment'>* toplevel because it doesn't queue a size request.</span></td></tr>
+<tr class="codeline" data-linenumber="5269"><td class="num" id="LN5269">5269</td><td class="line"> <span class='comment'>**/</span></td></tr>
+<tr class="codeline" data-linenumber="5270"><td class="num" id="LN5270">5270</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5271"><td class="num" id="LN5271">5271</td><td class="line">panel_toplevel_update_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5272"><td class="num" id="LN5272">5272</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5273"><td class="num" id="LN5273">5273</td><td class="line"> <span class='comment'>/* If we were not using the configured monitor, can we use it now? */</span></td></tr>
+<tr class="codeline" data-linenumber="5274"><td class="num" id="LN5274">5274</td><td class="line"> <span class='keyword'>if</span> ((toplevel-&gt;priv-&gt;configured_monitor != -1) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5275"><td class="num" id="LN5275">5275</td><td class="line"> (toplevel-&gt;priv-&gt;configured_monitor != toplevel-&gt;priv-&gt;monitor) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="5276"><td class="num" id="LN5276">5276</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor &lt; panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5277"><td class="num" id="LN5277">5277</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5278"><td class="num" id="LN5278">5278</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor,</td></tr>
+<tr class="codeline" data-linenumber="5279"><td class="num" id="LN5279">5279</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5280"><td class="num" id="LN5280">5280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5281"><td class="num" id="LN5281">5281</td><td class="line"> <span class='comment'>/* else, can we still use the monitor we were using? */</span></td></tr>
+<tr class="codeline" data-linenumber="5282"><td class="num" id="LN5282">5282</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;monitor &gt;= panel_multimonitor_monitors ()) {</td></tr>
+<tr class="codeline" data-linenumber="5283"><td class="num" id="LN5283">5283</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5284"><td class="num" id="LN5284">5284</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="5285"><td class="num" id="LN5285">5285</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5286"><td class="num" id="LN5286">5286</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="5287"><td class="num" id="LN5287">5287</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5288"><td class="num" id="LN5288">5288</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5289"><td class="num" id="LN5289">5289</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5290"><td class="num" id="LN5290">5290</td><td class="line">panel_toplevel_set_monitor (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5291"><td class="num" id="LN5291">5291</td><td class="line"> <span class='keyword'>int</span> monitor)</td></tr>
+<tr class="codeline" data-linenumber="5292"><td class="num" id="LN5292">5292</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5293"><td class="num" id="LN5293">5293</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5294"><td class="num" id="LN5294">5294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5295"><td class="num" id="LN5295">5295</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;configured_monitor == monitor)</td></tr>
+<tr class="codeline" data-linenumber="5296"><td class="num" id="LN5296">5296</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5297"><td class="num" id="LN5297">5297</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5298"><td class="num" id="LN5298">5298</td><td class="line"> toplevel-&gt;priv-&gt;configured_monitor = monitor;</td></tr>
+<tr class="codeline" data-linenumber="5299"><td class="num" id="LN5299">5299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5300"><td class="num" id="LN5300">5300</td><td class="line"> <span class='comment'>/* Only use the configured monitor if it's existing. Else, we ignore</span></td></tr>
+<tr class="codeline" data-linenumber="5301"><td class="num" id="LN5301">5301</td><td class="line"> <span class='comment'>* the non-existing monitor, and keep the old one. The main use case is</span></td></tr>
+<tr class="codeline" data-linenumber="5302"><td class="num" id="LN5302">5302</td><td class="line"> <span class='comment'>* when logging in after having used a multimonitor environment.</span></td></tr>
+<tr class="codeline" data-linenumber="5303"><td class="num" id="LN5303">5303</td><td class="line"> <span class='comment'>* We will put the panel on the monitor 0 for this session, and it will</span></td></tr>
+<tr class="codeline" data-linenumber="5304"><td class="num" id="LN5304">5304</td><td class="line"> <span class='comment'>* move back to the right monitor next time. */</span></td></tr>
+<tr class="codeline" data-linenumber="5305"><td class="num" id="LN5305">5305</td><td class="line"> <span class='keyword'>if</span> (monitor &lt; panel_multimonitor_monitors ())</td></tr>
+<tr class="codeline" data-linenumber="5306"><td class="num" id="LN5306">5306</td><td class="line"> panel_toplevel_set_monitor_internal (toplevel, monitor, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5307"><td class="num" id="LN5307">5307</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5308"><td class="num" id="LN5308">5308</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"monitor"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5309"><td class="num" id="LN5309">5309</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5310"><td class="num" id="LN5310">5310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5311"><td class="num" id="LN5311">5311</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5312"><td class="num" id="LN5312">5312</td><td class="line">panel_toplevel_get_monitor (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5313"><td class="num" id="LN5313">5313</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5314"><td class="num" id="LN5314">5314</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5315"><td class="num" id="LN5315">5315</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5316"><td class="num" id="LN5316">5316</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;monitor;</td></tr>
+<tr class="codeline" data-linenumber="5317"><td class="num" id="LN5317">5317</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5318"><td class="num" id="LN5318">5318</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5319"><td class="num" id="LN5319">5319</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5320"><td class="num" id="LN5320">5320</td><td class="line">panel_toplevel_set_auto_hide (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5321"><td class="num" id="LN5321">5321</td><td class="line"> gboolean auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5322"><td class="num" id="LN5322">5322</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5323"><td class="num" id="LN5323">5323</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5324"><td class="num" id="LN5324">5324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5325"><td class="num" id="LN5325">5325</td><td class="line"> auto_hide = auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5326"><td class="num" id="LN5326">5326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5327"><td class="num" id="LN5327">5327</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide == auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5328"><td class="num" id="LN5328">5328</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5329"><td class="num" id="LN5329">5329</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5330"><td class="num" id="LN5330">5330</td><td class="line"> toplevel-&gt;priv-&gt;auto_hide = (auto_hide != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5331"><td class="num" id="LN5331">5331</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5332"><td class="num" id="LN5332">5332</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;auto_hide)</td></tr>
+<tr class="codeline" data-linenumber="5333"><td class="num" id="LN5333">5333</td><td class="line"> panel_toplevel_queue_auto_hide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5334"><td class="num" id="LN5334">5334</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5335"><td class="num" id="LN5335">5335</td><td class="line"> panel_toplevel_queue_auto_unhide (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5336"><td class="num" id="LN5336">5336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5337"><td class="num" id="LN5337">5337</td><td class="line"> <span class='keyword'>if</span> (panel_toplevel_update_struts (toplevel, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="5338"><td class="num" id="LN5338">5338</td><td class="line"> gtk_widget_queue_resize (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5339"><td class="num" id="LN5339">5339</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5340"><td class="num" id="LN5340">5340</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"auto-hide"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5341"><td class="num" id="LN5341">5341</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5342"><td class="num" id="LN5342">5342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5343"><td class="num" id="LN5343">5343</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5344"><td class="num" id="LN5344">5344</td><td class="line">panel_toplevel_get_auto_hide (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5345"><td class="num" id="LN5345">5345</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5346"><td class="num" id="LN5346">5346</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5347"><td class="num" id="LN5347">5347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5348"><td class="num" id="LN5348">5348</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;auto_hide;</td></tr>
+<tr class="codeline" data-linenumber="5349"><td class="num" id="LN5349">5349</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5350"><td class="num" id="LN5350">5350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5351"><td class="num" id="LN5351">5351</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5352"><td class="num" id="LN5352">5352</td><td class="line">panel_toplevel_set_hide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5353"><td class="num" id="LN5353">5353</td><td class="line"> <span class='keyword'>int</span> hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5354"><td class="num" id="LN5354">5354</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5355"><td class="num" id="LN5355">5355</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5356"><td class="num" id="LN5356">5356</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5357"><td class="num" id="LN5357">5357</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;hide_delay == hide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5358"><td class="num" id="LN5358">5358</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5359"><td class="num" id="LN5359">5359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5360"><td class="num" id="LN5360">5360</td><td class="line"> toplevel-&gt;priv-&gt;hide_delay = hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5361"><td class="num" id="LN5361">5361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5362"><td class="num" id="LN5362">5362</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"hide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5363"><td class="num" id="LN5363">5363</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5364"><td class="num" id="LN5364">5364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5365"><td class="num" id="LN5365">5365</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5366"><td class="num" id="LN5366">5366</td><td class="line">panel_toplevel_get_hide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5367"><td class="num" id="LN5367">5367</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5368"><td class="num" id="LN5368">5368</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5369"><td class="num" id="LN5369">5369</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5370"><td class="num" id="LN5370">5370</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;hide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5371"><td class="num" id="LN5371">5371</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5372"><td class="num" id="LN5372">5372</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5373"><td class="num" id="LN5373">5373</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5374"><td class="num" id="LN5374">5374</td><td class="line">panel_toplevel_set_unhide_delay (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5375"><td class="num" id="LN5375">5375</td><td class="line"> <span class='keyword'>int</span> unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5376"><td class="num" id="LN5376">5376</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5377"><td class="num" id="LN5377">5377</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5378"><td class="num" id="LN5378">5378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5379"><td class="num" id="LN5379">5379</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;unhide_delay == unhide_delay)</td></tr>
+<tr class="codeline" data-linenumber="5380"><td class="num" id="LN5380">5380</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5381"><td class="num" id="LN5381">5381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5382"><td class="num" id="LN5382">5382</td><td class="line"> toplevel-&gt;priv-&gt;unhide_delay = unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5383"><td class="num" id="LN5383">5383</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5384"><td class="num" id="LN5384">5384</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"unhide-delay"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5385"><td class="num" id="LN5385">5385</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5386"><td class="num" id="LN5386">5386</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5387"><td class="num" id="LN5387">5387</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5388"><td class="num" id="LN5388">5388</td><td class="line">panel_toplevel_get_unhide_delay (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5389"><td class="num" id="LN5389">5389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5390"><td class="num" id="LN5390">5390</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), -1)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (-1); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5391"><td class="num" id="LN5391">5391</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5392"><td class="num" id="LN5392">5392</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;unhide_delay;</td></tr>
+<tr class="codeline" data-linenumber="5393"><td class="num" id="LN5393">5393</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5394"><td class="num" id="LN5394">5394</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5395"><td class="num" id="LN5395">5395</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5396"><td class="num" id="LN5396">5396</td><td class="line">panel_toplevel_set_animate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5397"><td class="num" id="LN5397">5397</td><td class="line"> gboolean animate)</td></tr>
+<tr class="codeline" data-linenumber="5398"><td class="num" id="LN5398">5398</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5399"><td class="num" id="LN5399">5399</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5400"><td class="num" id="LN5400">5400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5401"><td class="num" id="LN5401">5401</td><td class="line"> animate = animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5402"><td class="num" id="LN5402">5402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5403"><td class="num" id="LN5403">5403</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animate == animate)</td></tr>
+<tr class="codeline" data-linenumber="5404"><td class="num" id="LN5404">5404</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5405"><td class="num" id="LN5405">5405</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5406"><td class="num" id="LN5406">5406</td><td class="line"> toplevel-&gt;priv-&gt;animate = (animate != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5407"><td class="num" id="LN5407">5407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5408"><td class="num" id="LN5408">5408</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animate"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5409"><td class="num" id="LN5409">5409</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5410"><td class="num" id="LN5410">5410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5411"><td class="num" id="LN5411">5411</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5412"><td class="num" id="LN5412">5412</td><td class="line">panel_toplevel_get_animate (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5413"><td class="num" id="LN5413">5413</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5414"><td class="num" id="LN5414">5414</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5415"><td class="num" id="LN5415">5415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5416"><td class="num" id="LN5416">5416</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animate;</td></tr>
+<tr class="codeline" data-linenumber="5417"><td class="num" id="LN5417">5417</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5418"><td class="num" id="LN5418">5418</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5419"><td class="num" id="LN5419">5419</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5420"><td class="num" id="LN5420">5420</td><td class="line">panel_toplevel_set_animation_speed (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5421"><td class="num" id="LN5421">5421</td><td class="line"> PanelAnimationSpeed animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5422"><td class="num" id="LN5422">5422</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5423"><td class="num" id="LN5423">5423</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5424"><td class="num" id="LN5424">5424</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5425"><td class="num" id="LN5425">5425</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;animation_speed == animation_speed)</td></tr>
+<tr class="codeline" data-linenumber="5426"><td class="num" id="LN5426">5426</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5427"><td class="num" id="LN5427">5427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5428"><td class="num" id="LN5428">5428</td><td class="line"> toplevel-&gt;priv-&gt;animation_speed = animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5429"><td class="num" id="LN5429">5429</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5430"><td class="num" id="LN5430">5430</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"animation-speed"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5431"><td class="num" id="LN5431">5431</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5432"><td class="num" id="LN5432">5432</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5433"><td class="num" id="LN5433">5433</td><td class="line">PanelAnimationSpeed</td></tr>
+<tr class="codeline" data-linenumber="5434"><td class="num" id="LN5434">5434</td><td class="line">panel_toplevel_get_animation_speed (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5435"><td class="num" id="LN5435">5435</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5436"><td class="num" id="LN5436">5436</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5437"><td class="num" id="LN5437">5437</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5438"><td class="num" id="LN5438">5438</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;animation_speed;</td></tr>
+<tr class="codeline" data-linenumber="5439"><td class="num" id="LN5439">5439</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5440"><td class="num" id="LN5440">5440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5441"><td class="num" id="LN5441">5441</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5442"><td class="num" id="LN5442">5442</td><td class="line">panel_toplevel_set_enable_buttons (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5443"><td class="num" id="LN5443">5443</td><td class="line"> gboolean enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5444"><td class="num" id="LN5444">5444</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5445"><td class="num" id="LN5445">5445</td><td class="line"> enable_buttons = enable_buttons != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5446"><td class="num" id="LN5446">5446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5447"><td class="num" id="LN5447">5447</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;buttons_enabled == enable_buttons)</td></tr>
+<tr class="codeline" data-linenumber="5448"><td class="num" id="LN5448">5448</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5449"><td class="num" id="LN5449">5449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5450"><td class="num" id="LN5450">5450</td><td class="line"> toplevel-&gt;priv-&gt;buttons_enabled = enable_buttons;</td></tr>
+<tr class="codeline" data-linenumber="5451"><td class="num" id="LN5451">5451</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5452"><td class="num" id="LN5452">5452</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5453"><td class="num" id="LN5453">5453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5454"><td class="num" id="LN5454">5454</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"buttons-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5455"><td class="num" id="LN5455">5455</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5456"><td class="num" id="LN5456">5456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5457"><td class="num" id="LN5457">5457</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5458"><td class="num" id="LN5458">5458</td><td class="line">panel_toplevel_get_enable_buttons (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5459"><td class="num" id="LN5459">5459</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5460"><td class="num" id="LN5460">5460</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5461"><td class="num" id="LN5461">5461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5462"><td class="num" id="LN5462">5462</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;buttons_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5463"><td class="num" id="LN5463">5463</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5464"><td class="num" id="LN5464">5464</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5465"><td class="num" id="LN5465">5465</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5466"><td class="num" id="LN5466">5466</td><td class="line">panel_toplevel_set_enable_arrows (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5467"><td class="num" id="LN5467">5467</td><td class="line"> gboolean enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5468"><td class="num" id="LN5468">5468</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5469"><td class="num" id="LN5469">5469</td><td class="line"> <span class='macro'>g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel))<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return; } } while<br> (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5470"><td class="num" id="LN5470">5470</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5471"><td class="num" id="LN5471">5471</td><td class="line"> enable_arrows = enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5472"><td class="num" id="LN5472">5472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5473"><td class="num" id="LN5473">5473</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;arrows_enabled == enable_arrows)</td></tr>
+<tr class="codeline" data-linenumber="5474"><td class="num" id="LN5474">5474</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="5475"><td class="num" id="LN5475">5475</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5476"><td class="num" id="LN5476">5476</td><td class="line"> toplevel-&gt;priv-&gt;arrows_enabled = (enable_arrows != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="5477"><td class="num" id="LN5477">5477</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5478"><td class="num" id="LN5478">5478</td><td class="line"> panel_toplevel_update_hide_buttons (toplevel);</td></tr>
+<tr class="codeline" data-linenumber="5479"><td class="num" id="LN5479">5479</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5480"><td class="num" id="LN5480">5480</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (toplevel)<span class='macro_popup'>((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"arrows-enabled"</span>);</td></tr>
+<tr class="codeline" data-linenumber="5481"><td class="num" id="LN5481">5481</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5482"><td class="num" id="LN5482">5482</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5483"><td class="num" id="LN5483">5483</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5484"><td class="num" id="LN5484">5484</td><td class="line">panel_toplevel_get_enable_arrows (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5485"><td class="num" id="LN5485">5485</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5486"><td class="num" id="LN5486">5486</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5487"><td class="num" id="LN5487">5487</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5488"><td class="num" id="LN5488">5488</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;arrows_enabled;</td></tr>
+<tr class="codeline" data-linenumber="5489"><td class="num" id="LN5489">5489</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5490"><td class="num" id="LN5490">5490</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5491"><td class="num" id="LN5491">5491</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="5492"><td class="num" id="LN5492">5492</td><td class="line">panel_toplevel_rotate (PanelToplevel *toplevel,</td></tr>
+<tr class="codeline" data-linenumber="5493"><td class="num" id="LN5493">5493</td><td class="line"> gboolean clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5494"><td class="num" id="LN5494">5494</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5495"><td class="num" id="LN5495">5495</td><td class="line"> PanelOrientation orientation;</td></tr>
+<tr class="codeline" data-linenumber="5496"><td class="num" id="LN5496">5496</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5497"><td class="num" id="LN5497">5497</td><td class="line"> <span class='comment'>/* Relies on PanelOrientation definition:</span></td></tr>
+<tr class="codeline" data-linenumber="5498"><td class="num" id="LN5498">5498</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5499"><td class="num" id="LN5499">5499</td><td class="line"> <span class='comment'>* typedef enum {</span></td></tr>
+<tr class="codeline" data-linenumber="5500"><td class="num" id="LN5500">5500</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_TOP = 1 &lt;&lt; 0,</span></td></tr>
+<tr class="codeline" data-linenumber="5501"><td class="num" id="LN5501">5501</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_RIGHT = 1 &lt;&lt; 1,</span></td></tr>
+<tr class="codeline" data-linenumber="5502"><td class="num" id="LN5502">5502</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_BOTTOM = 1 &lt;&lt; 2,</span></td></tr>
+<tr class="codeline" data-linenumber="5503"><td class="num" id="LN5503">5503</td><td class="line"> <span class='comment'>* PANEL_ORIENTATION_LEFT = 1 &lt;&lt; 3</span></td></tr>
+<tr class="codeline" data-linenumber="5504"><td class="num" id="LN5504">5504</td><td class="line"> <span class='comment'>* } PanelOrientation;</span></td></tr>
+<tr class="codeline" data-linenumber="5505"><td class="num" id="LN5505">5505</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="5506"><td class="num" id="LN5506">5506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5507"><td class="num" id="LN5507">5507</td><td class="line"> orientation = toplevel-&gt;priv-&gt;orientation;</td></tr>
+<tr class="codeline" data-linenumber="5508"><td class="num" id="LN5508">5508</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5509"><td class="num" id="LN5509">5509</td><td class="line"> <span class='keyword'>if</span> (clockwise)</td></tr>
+<tr class="codeline" data-linenumber="5510"><td class="num" id="LN5510">5510</td><td class="line"> orientation &lt;&lt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5511"><td class="num" id="LN5511">5511</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5512"><td class="num" id="LN5512">5512</td><td class="line"> orientation &gt;&gt;= 1;</td></tr>
+<tr class="codeline" data-linenumber="5513"><td class="num" id="LN5513">5513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5514"><td class="num" id="LN5514">5514</td><td class="line"> <span class='keyword'>if</span> (orientation == 0)</td></tr>
+<tr class="codeline" data-linenumber="5515"><td class="num" id="LN5515">5515</td><td class="line"> orientation = PANEL_ORIENTATION_LEFT;</td></tr>
+<tr class="codeline" data-linenumber="5516"><td class="num" id="LN5516">5516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5517"><td class="num" id="LN5517">5517</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (orientation &gt; PANEL_ORIENTATION_LEFT)</td></tr>
+<tr class="codeline" data-linenumber="5518"><td class="num" id="LN5518">5518</td><td class="line"> orientation = PANEL_ORIENTATION_TOP;</td></tr>
+<tr class="codeline" data-linenumber="5519"><td class="num" id="LN5519">5519</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5520"><td class="num" id="LN5520">5520</td><td class="line"> panel_toplevel_set_orientation (toplevel, orientation);</td></tr>
+<tr class="codeline" data-linenumber="5521"><td class="num" id="LN5521">5521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5522"><td class="num" id="LN5522">5522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5523"><td class="num" id="LN5523">5523</td><td class="line">PanelState</td></tr>
+<tr class="codeline" data-linenumber="5524"><td class="num" id="LN5524">5524</td><td class="line">panel_toplevel_get_state (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5525"><td class="num" id="LN5525">5525</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5526"><td class="num" id="LN5526">5526</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), 0)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return (0); }<br> } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5527"><td class="num" id="LN5527">5527</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5528"><td class="num" id="LN5528">5528</td><td class="line"> <span class='keyword'>return</span> toplevel-&gt;priv-&gt;state;</td></tr>
+<tr class="codeline" data-linenumber="5529"><td class="num" id="LN5529">5529</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5530"><td class="num" id="LN5530">5530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5531"><td class="num" id="LN5531">5531</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="5532"><td class="num" id="LN5532">5532</td><td class="line">panel_toplevel_get_is_hidden (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5533"><td class="num" id="LN5533">5533</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5534"><td class="num" id="LN5534">5534</td><td class="line"> <span class='macro'>g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE)<span class='macro_popup'>do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance<br>*) ((toplevel)); GType __t = ((panel_toplevel_get_type ())); gboolean<br> __r; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; })))))) { }<br> else { g_return_if_fail_warning (((gchar*) 0), ((const char*<br>) (__func__)), "PANEL_IS_TOPLEVEL (toplevel)"); return ((0));<br> } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5535"><td class="num" id="LN5535">5535</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5536"><td class="num" id="LN5536">5536</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_UP ||</td></tr>
+<tr class="codeline" data-linenumber="5537"><td class="num" id="LN5537">5537</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_DOWN ||</td></tr>
+<tr class="codeline" data-linenumber="5538"><td class="num" id="LN5538">5538</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_LEFT ||</td></tr>
+<tr class="codeline" data-linenumber="5539"><td class="num" id="LN5539">5539</td><td class="line"> toplevel-&gt;priv-&gt;state == PANEL_STATE_HIDDEN_RIGHT)</td></tr>
+<tr class="codeline" data-linenumber="5540"><td class="num" id="LN5540">5540</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5541"><td class="num" id="LN5541">5541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5542"><td class="num" id="LN5542">5542</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5543"><td class="num" id="LN5543">5543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5544"><td class="num" id="LN5544">5544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5545"><td class="num" id="LN5545">5545</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5546"><td class="num" id="LN5546">5546</td><td class="line">panel_toplevel_get_minimum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5547"><td class="num" id="LN5547">5547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5548"><td class="num" id="LN5548">5548</td><td class="line"> <span class='keyword'>return</span> calculate_minimum_height (<span class='macro'>GTK_WIDGET (toplevel)<span class='macro_popup'>((((GtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((toplevel)), ((gtk_widget_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="5549"><td class="num" id="LN5549">5549</td><td class="line"> toplevel-&gt;priv-&gt;orientation);</td></tr>
+<tr class="codeline" data-linenumber="5550"><td class="num" id="LN5550">5550</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="5551"><td class="num" id="LN5551">5551</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5552"><td class="num" id="LN5552">5552</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="5553"><td class="num" id="LN5553">5553</td><td class="line">panel_toplevel_get_maximum_size (PanelToplevel *toplevel)</td></tr>
+<tr class="codeline" data-linenumber="5554"><td class="num" id="LN5554">5554</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="5555"><td class="num" id="LN5555">5555</td><td class="line"> GdkRectangle monitor_geom;</td></tr>
+<tr class="codeline" data-linenumber="5556"><td class="num" id="LN5556">5556</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5557"><td class="num" id="LN5557">5557</td><td class="line"> panel_toplevel_get_monitor_geometry (toplevel, &amp;monitor_geom);</td></tr>
+<tr class="codeline" data-linenumber="5558"><td class="num" id="LN5558">5558</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5559"><td class="num" id="LN5559">5559</td><td class="line"> <span class='keyword'>if</span> (toplevel-&gt;priv-&gt;orientation &amp; <span class='macro'>PANEL_HORIZONTAL_MASK<span class='macro_popup'>(PANEL_ORIENTATION_TOP | PANEL_ORIENTATION_BOTTOM)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="5560"><td class="num" id="LN5560">5560</td><td class="line"> <span class='keyword'>return</span> monitor_geom.height / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5561"><td class="num" id="LN5561">5561</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="5562"><td class="num" id="LN5562">5562</td><td class="line"> <span class='keyword'>return</span> monitor_geom.width / <span class='macro'>MAXIMUM_SIZE_SCREEN_RATIO<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="5563"><td class="num" id="LN5563">5563</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/report-fec02c.html b/2024-04-04-041623-13412-1@d45586734d1f_master/report-fec02c.html
new file mode 100644
index 00000000..6363a954
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/report-fec02c.html
@@ -0,0 +1,1509 @@
+<!doctype html>
+<html>
+<head>
+<title>panel-background.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { position:relative }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.msg.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC This statement is never executed -->
+
+<!-- BUGTYPE Unreachable code -->
+
+<!-- BUGCATEGORY Unused code -->
+
+<!-- BUGFILE /rootdir/mate-panel/panel-background.c -->
+
+<!-- FILENAME panel-background.c -->
+
+<!-- FUNCTIONNAME panel_background_make_string -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT fec02c2d048fb726a3f77c7d578c0526 -->
+
+<!-- BUGLINE 782 -->
+
+<!-- BUGCOLUMN 11 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>mate-panel/panel-background.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 782, column 11</a><br />This statement is never executed</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -cc1 -triple x86_64-redhat-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name panel-background.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/mate-panel -resource-dir /usr/bin/../lib/clang/17 -D HAVE_CONFIG_H -I . -I .. -I /usr/include/mate-menus -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/startup-notification-1.0 -I /usr/include/cairo -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/at-spi2-atk/2.0 -I /usr/include/cloudproviders -I /usr/include/dconf -I /usr/include/at-spi-2.0 -I /usr/include/blkid -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/libmount -I /usr/include/fribidi -I /usr/include/libpng16 -I /usr/include/sysprof-6 -I /usr/include/dconf -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/sysprof-6 -I . -I . -I ../mate-panel -I ../mate-panel/mate-submodules -I ../mate-panel/libpanel-util -D MATELOCALEDIR="/usr/local/share/locale" -D PANELDATADIR="/usr/local/share/mate-panel" -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -D PANEL_MODULES_DIR="/usr/local/lib/mate-panel/modules" -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-layer-shell -I /usr/include/pango-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/cairo -I /usr/include/gtk-3.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/atk-1.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/cloudproviders -I /usr/include/blkid -I /usr/include/at-spi-2.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libmount -I /usr/include/pixman-1 -I /usr/include/libxml2 -I /usr/include/fribidi -I /usr/include/sysprof-6 -I /usr/include/libpng16 -internal-isystem /usr/bin/../lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -fdebug-compilation-dir=/rootdir/mate-panel -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-04-04-041623-13412-1 -x c panel-background.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"782": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // SHIFT + S
+ if (event.shiftKey && event.keyCode == 83) {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].click();
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+ <input type="checkbox" name="showArrows"
+ id="showArrows" style="margin-left: 10px" />
+ <label for="showArrows">
+ Show control flow arrows
+ </label>
+</form>
+
+<script type='text/javascript'>
+// Return range of numbers from a range [lower, upper).
+function range(lower, upper) {
+ var array = [];
+ for (var i = lower; i <= upper; ++i) {
+ array.push(i);
+ }
+ return array;
+}
+
+var getRelatedArrowIndices = function(pathId) {
+ // HTML numeration of events is a bit different than it is in the path.
+ // Everything is rotated one step to the right, so the last element
+ // (error diagnostic) has index 0.
+ if (pathId == 0) {
+ // arrowIndices has at least 2 elements
+ pathId = arrowIndices.length - 1;
+ }
+
+ return range(arrowIndices[pathId], arrowIndices[pathId - 1]);
+}
+
+var highlightArrowsForSelectedEvent = function() {
+ const selectedNum = findNum();
+ const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
+ arrowIndicesToHighlight.forEach((index) => {
+ var arrow = document.querySelector("#arrow" + index);
+ if(arrow) {
+ classListAdd(arrow, "selected")
+ }
+ });
+}
+
+var getAbsoluteBoundingRect = function(element) {
+ const relative = element.getBoundingClientRect();
+ return {
+ left: relative.left + window.pageXOffset,
+ right: relative.right + window.pageXOffset,
+ top: relative.top + window.pageYOffset,
+ bottom: relative.bottom + window.pageYOffset,
+ height: relative.height,
+ width: relative.width
+ };
+}
+
+var drawArrow = function(index) {
+ // This function is based on the great answer from SO:
+ // https://stackoverflow.com/a/39575674/11582326
+ var start = document.querySelector("#start" + index);
+ var end = document.querySelector("#end" + index);
+ var arrow = document.querySelector("#arrow" + index);
+
+ var startRect = getAbsoluteBoundingRect(start);
+ var endRect = getAbsoluteBoundingRect(end);
+
+ // It is an arrow from a token to itself, no need to visualize it.
+ if (startRect.top == endRect.top &&
+ startRect.left == endRect.left)
+ return;
+
+ // Each arrow is a very simple Bézier curve, with two nodes and
+ // two handles. So, we need to calculate four points in the window:
+ // * start node
+ var posStart = { x: 0, y: 0 };
+ // * end node
+ var posEnd = { x: 0, y: 0 };
+ // * handle for the start node
+ var startHandle = { x: 0, y: 0 };
+ // * handle for the end node
+ var endHandle = { x: 0, y: 0 };
+ // One can visualize it as follows:
+ //
+ // start handle
+ // /
+ // X"""_.-""""X
+ // .' \
+ // / start node
+ // |
+ // |
+ // | end node
+ // \ /
+ // `->X
+ // X-'
+ // \
+ // end handle
+ //
+ // NOTE: (0, 0) is the top left corner of the window.
+
+ // We have 3 similar, but still different scenarios to cover:
+ //
+ // 1. Two tokens on different lines.
+ // -xxx
+ // /
+ // \
+ // -> xxx
+ // In this situation, we draw arrow on the left curving to the left.
+ // 2. Two tokens on the same line, and the destination is on the right.
+ // ____
+ // / \
+ // / V
+ // xxx xxx
+ // In this situation, we draw arrow above curving upwards.
+ // 3. Two tokens on the same line, and the destination is on the left.
+ // xxx xxx
+ // ^ /
+ // \____/
+ // In this situation, we draw arrow below curving downwards.
+ const onDifferentLines = startRect.top <= endRect.top - 5 ||
+ startRect.top >= endRect.top + 5;
+ const leftToRight = startRect.left < endRect.left;
+
+ // NOTE: various magic constants are chosen empirically for
+ // better positioning and look
+ if (onDifferentLines) {
+ // Case #1
+ const topToBottom = startRect.top < endRect.top;
+ posStart.x = startRect.left - 1;
+ // We don't want to start it at the top left corner of the token,
+ // it doesn't feel like this is where the arrow comes from.
+ // For this reason, we start it in the middle of the left side
+ // of the token.
+ posStart.y = startRect.top + startRect.height / 2;
+
+ // End node has arrow head and we give it a bit more space.
+ posEnd.x = endRect.left - 4;
+ posEnd.y = endRect.top;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ // We want bottom-to-top arrow to curve a bit more, so it doesn't
+ // overlap much with top-to-bottom curves (much more frequent).
+ x: topToBottom ? 15 : 25,
+ y: Math.min((posEnd.y - posStart.y) / 3, 10)
+ }
+
+ // When destination is on the different line, we can make a
+ // curvier arrow because we have space for it.
+ // So, instead of using
+ //
+ // startHandle.x = posStart.x - curvature.x
+ // endHandle.x = posEnd.x - curvature.x
+ //
+ // We use the leftmost of these two values for both handles.
+ startHandle.x = Math.min(posStart.x, posEnd.x) - curvature.x;
+ endHandle.x = startHandle.x;
+
+ // Curving downwards from the start node...
+ startHandle.y = posStart.y + curvature.y;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else if (leftToRight) {
+ // Case #2
+ // Starting from the top right corner...
+ posStart.x = startRect.right - 1;
+ posStart.y = startRect.top;
+
+ // ...and ending at the top left corner of the end token.
+ posEnd.x = endRect.left + 1;
+ posEnd.y = endRect.top - 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posEnd.x - posStart.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the right...
+ startHandle.x = posStart.x + curvature.x;
+ // ... and upwards from the start node.
+ startHandle.y = posStart.y - curvature.y;
+
+ // And to the left...
+ endHandle.x = posEnd.x - curvature.x;
+ // ... and upwards from the end node.
+ endHandle.y = posEnd.y - curvature.y;
+
+ } else {
+ // Case #3
+ // Starting from the bottom right corner...
+ posStart.x = startRect.right;
+ posStart.y = startRect.bottom;
+
+ // ...and ending also at the bottom right corner, but of the end token.
+ posEnd.x = endRect.right - 1;
+ posEnd.y = endRect.bottom + 1;
+
+ // Utility object with x and y offsets for handles.
+ var curvature = {
+ x: Math.min((posStart.x - posEnd.x) / 3, 15),
+ y: 5
+ }
+
+ // Curving to the left...
+ startHandle.x = posStart.x - curvature.x;
+ // ... and downwards from the start node.
+ startHandle.y = posStart.y + curvature.y;
+
+ // And to the right...
+ endHandle.x = posEnd.x + curvature.x;
+ // ... and downwards from the end node.
+ endHandle.y = posEnd.y + curvature.y;
+ }
+
+ // Put it all together into a path.
+ // More information on the format:
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
+ var pathStr = "M" + posStart.x + "," + posStart.y + " " +
+ "C" + startHandle.x + "," + startHandle.y + " " +
+ endHandle.x + "," + endHandle.y + " " +
+ posEnd.x + "," + posEnd.y;
+
+ arrow.setAttribute("d", pathStr);
+};
+
+var drawArrows = function() {
+ const numOfArrows = document.querySelectorAll("path[id^=arrow]").length;
+ for (var i = 0; i < numOfArrows; ++i) {
+ drawArrow(i);
+ }
+}
+
+var toggleArrows = function(event) {
+ const arrows = document.querySelector("#arrows");
+ if (event.target.checked) {
+ arrows.setAttribute("visibility", "visible");
+ } else {
+ arrows.setAttribute("visibility", "hidden");
+ }
+}
+
+window.addEventListener("resize", drawArrows);
+document.addEventListener("DOMContentLoaded", function() {
+ // Whenever we show invocation, locations change, i.e. we
+ // need to redraw arrows.
+ document
+ .querySelector('input[id="showinvocation"]')
+ .addEventListener("click", drawArrows);
+ // Hiding irrelevant lines also should cause arrow rerender.
+ document
+ .querySelector('input[name="showCounterexample"]')
+ .addEventListener("change", drawArrows);
+ document
+ .querySelector('input[name="showArrows"]')
+ .addEventListener("change", toggleArrows);
+ drawArrows();
+ // Default highlighting for the last event.
+ highlightArrowsForSelectedEvent();
+});
+</script>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+var querySelectorAllArray = function(selector) {
+ return Array.prototype.slice.call(
+ document.querySelectorAll(selector));
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ querySelectorAllArray(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".msg.selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var classListAdd = function(el, theClass) {
+ if(!el.className.baseVal)
+ el.className += " " + theClass;
+ else
+ el.className.baseVal += " " + theClass;
+};
+
+var classListRemove = function(el, theClass) {
+ var className = (!el.className.baseVal) ?
+ el.className : el.className.baseVal;
+ className = className.replace(" " + theClass, "");
+ if(!el.className.baseVal)
+ el.className = className;
+ else
+ el.className.baseVal = className;
+};
+
+var scrollTo = function(el) {
+ querySelectorAllArray(".selected").forEach(function(s) {
+ classListRemove(s, "selected");
+ });
+ classListAdd(el, "selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+ highlightArrowsForSelectedEvent();
+};
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ // key 'j'
+ if (event.keyCode == 74) {
+ navigateTo(/*up=*/false);
+ // key 'k'
+ } else if (event.keyCode == 75) {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+
+<style type="text/css">
+ svg {
+ position:absolute;
+ top:0;
+ left:0;
+ height:100%;
+ width:100%;
+ pointer-events: none;
+ overflow: visible
+ }
+ .arrow {
+ stroke-opacity: 0.2;
+ stroke-width: 1;
+ marker-end: url(#arrowhead);
+ }
+
+ .arrow.selected {
+ stroke-opacity: 0.6;
+ stroke-width: 2;
+ marker-end: url(#arrowheadSelected);
+ }
+
+ .arrowhead {
+ orient: auto;
+ stroke: none;
+ opacity: 0.6;
+ fill: blue;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <marker id="arrowheadSelected" class="arrowhead" opacity="0.6"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ <marker id="arrowhead" class="arrowhead" opacity="0.2"
+ viewBox="0 0 10 10" refX="3" refY="5"
+ markerWidth="4" markerHeight="4">
+ <path d="M 0 0 L 10 5 L 0 10 z" />
+ </marker>
+ </defs>
+ <g id="arrows" fill="none" stroke="blue" visibility="hidden">
+
+ </g>
+</svg>
+<script type='text/javascript'>
+const arrowIndices = [ 0,0 ]
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* panel-background.c: panel background rendering</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2002, 2003 Sun Microsystems, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2012-2021 MATE Developers</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>* Authors:</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>* Mark McLoughlin &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "panel-background.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;gdk/gdk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;cairo.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_X11<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;xstuff.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;cairo-xlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include "panel-util.h"</span></td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='keyword'>static</span> gboolean panel_background_composite (PanelBackground *background);</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> load_background_file (PanelBackground *background);</td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='keyword'>void</span> panel_background_apply_css (PanelBackground *background, GtkWidget *widget)</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> GtkStyleContext *context;</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> PanelBackgroundType effective_type;</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> context = gtk_widget_get_style_context (widget);</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> effective_type = panel_background_effective_type (background);</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> <span class='keyword'>switch</span> (effective_type) {</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_NONE:</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> gtk_style_context_remove_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_COLOR:</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_IMAGE:</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gtk_style_context_add_class (context, <span class='string_literal'>"mate-custom-panel-background"</span>);</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-background.c"<br>, 62, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">panel_background_prepare_css (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> GtkCssProvider *provider;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> provider = gtk_css_provider_new ();</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> gtk_css_provider_load_from_data (provider,</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='string_literal'>".mate-custom-panel-background{\n"</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='string_literal'>" background-color: rgba (0, 0, 0, 0);\n"</span></td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='string_literal'>" background-image: none;\n"</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='string_literal'>"}"</span>,</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> -1, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER (provider)<span class='macro_popup'>((((GtkStyleProvider*) (void *) g_type_check_instance_cast ((<br>GTypeInstance*) ((provider)), ((gtk_style_provider_get_type (<br>)))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> <span class='macro'>GTK_STYLE_PROVIDER_PRIORITY_APPLICATION<span class='macro_popup'>600</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> g_object_unref (provider);</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line">panel_background_prepare (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> PanelBackgroundType effective_type;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> GtkWidget *widget = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>if</span> (!background-&gt;transformed)</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> effective_type = panel_background_effective_type (background);</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>switch</span> (effective_type) {</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_NONE:</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>if</span> (background-&gt;default_pattern) {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='comment'>/* the theme background-image pattern must be scaled by</span></td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='comment'>* the width &amp; height of the panel so that when the</span></td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='comment'>* backing region is cleared</span></td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='comment'>* (gdk_window_clear_backing_region), the correctly</span></td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='comment'>* scaled pattern is used */</span></td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> cairo_pattern_get_surface(background-&gt;default_pattern, &amp;surface);</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='comment'>/* catch invalid images (e.g. -gtk-gradient) before scaling and rendering */</span></td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='keyword'>if</span> (surface != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ){</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> <span class='keyword'>double</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> cairo_matrix_t m;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> cairo_surface_reference(surface);</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> width = cairo_image_surface_get_width (surface);</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> height = cairo_image_surface_get_height (surface);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> cairo_matrix_init_translate (&amp;m, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> cairo_matrix_scale (&amp;m,</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> width / background-&gt;region.width,</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> height / background-&gt;region.height);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> cairo_pattern_set_matrix (background-&gt;default_pattern, &amp;m);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> gdk_window_set_background_pattern (background-&gt;window,</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> background-&gt;default_pattern);</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, <span class='string_literal'>"unsupported value of 'background-image' in GTK+ theme (such as '-gtk-gradient')"</span>);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='comment'>/* use any background color that has been set if image is invalid */</span></td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> gdk_window_set_background_rgba (</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> background-&gt;window, &amp;background-&gt;default_color);</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> cairo_surface_destroy(surface);</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> gdk_window_set_background_rgba (</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> background-&gt;window, &amp;background-&gt;default_color);</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_COLOR:</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> GdkRGBA color = background-&gt;color;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>if</span> (!gdk_screen_is_composited (gdk_screen_get_default ())) {</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> gdk_window_set_background_rgba (background-&gt;window, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_IMAGE:</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='macro'>g_assert (background-&gt;composited_pattern)<span class='macro_popup'>do { if (background-&gt;composited_pattern) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-background.c", 147, ((const char*) (__func__<br>)), "background-&gt;composited_pattern"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> gdk_window_set_background_pattern (background-&gt;window, background-&gt;composited_pattern);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-background.c"<br>, 152, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> <span class='comment'>/* Panel applets may use the panel's background pixmap to</span></td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> <span class='comment'>* decide how to draw themselves. Therefore, we need to</span></td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='comment'>* make sure that all drawing has been completed before</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='comment'>* the applet looks at the pixmap. */</span></td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> gdk_display_sync (gdk_window_get_display (background-&gt;window));</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> gdk_window_get_user_data (<span class='macro'>GDK_WINDOW (background-&gt;window)<span class='macro_popup'>((((GdkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance<br>*) ((background-&gt;window)), ((gdk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> (gpointer) &amp;widget);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>GTK_IS_WIDGET (widget)<span class='macro_popup'>(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (<br>(widget)); GType __t = ((gtk_widget_get_type ())); gboolean __r<br>; if (!__inst) __r = (0); else if (__inst-&gt;g_class &amp;&amp;<br> __inst-&gt;g_class-&gt;g_type == __t) __r = (!(0)); else __r<br> = g_type_check_instance_is_a (__inst, __t); __r; }))))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> panel_background_apply_css (background, gtk_widget_get_toplevel(widget));</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> gtk_widget_set_app_paintable(widget,<span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> gtk_widget_queue_draw (widget);</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> background-&gt;notify_changed (background, background-&gt;user_data);</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line">free_composited_resources (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> background-&gt;composited = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> <span class='keyword'>if</span> (background-&gt;composited_pattern)</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> cairo_pattern_destroy (background-&gt;composited_pattern);</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> background-&gt;composited_pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> cairo_pattern_t *</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">composite_image_onto_desktop (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> cairo_pattern_t *pattern;</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> width = background-&gt;region.width;</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> height = background-&gt;region.height;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> surface = gdk_window_create_similar_surface (background-&gt;window,</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> CAIRO_CONTENT_COLOR_ALPHA,</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> width, height);</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>if</span> (cairo_surface_status (surface) != CAIRO_STATUS_SUCCESS) {</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> cr = cairo_create (surface);</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> gdk_cairo_set_source_pixbuf (cr, background-&gt;transformed_image, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> pattern = cairo_get_source (cr);</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> cairo_rectangle (cr, 0, 0, width, height);</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> cairo_fill (cr);</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> cairo_destroy (cr);</td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> pattern = cairo_pattern_create_for_surface (surface);</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> cairo_surface_destroy (surface);</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> <span class='keyword'>return</span> pattern;</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line">panel_background_composite (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='keyword'>if</span> (!background-&gt;transformed)</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> free_composited_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> <span class='keyword'>switch</span> (background-&gt;type) {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_NONE:</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_COLOR:</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>case</span> PANEL_BACK_IMAGE:</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (background-&gt;transformed_image) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> background-&gt;composited_pattern =</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> composite_image_onto_desktop (background);</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-background.c"<br>, 240, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> background-&gt;composited = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> panel_background_prepare (background);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">free_transformed_resources (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> free_composited_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> background-&gt;transformed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='keyword'>if</span> (background-&gt;type != PANEL_BACK_IMAGE)</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>if</span> (background-&gt;transformed_image)</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> g_object_unref (background-&gt;transformed_image);</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> background-&gt;transformed_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"><span class='keyword'>static</span> GdkPixbuf *</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line">get_scaled_and_rotated_pixbuf (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> GdkPixbuf *scaled;</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> GdkPixbuf *retval;</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='keyword'>int</span> orig_width, orig_height;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>int</span> panel_width, panel_height;</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>int</span> width, height;</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> load_background_file (background);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> <span class='keyword'>if</span> (!background-&gt;loaded_image)</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> orig_width = gdk_pixbuf_get_width (background-&gt;loaded_image);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> orig_height = gdk_pixbuf_get_height (background-&gt;loaded_image);</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> panel_width = background-&gt;region.width;</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> panel_height = background-&gt;region.height;</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> width = orig_width;</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> height = orig_height;</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='keyword'>if</span> (background-&gt;fit_image) {</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> <span class='keyword'>switch</span> (background-&gt;orientation) {</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='keyword'>case</span> GTK_ORIENTATION_HORIZONTAL:</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> width = orig_width * panel_height / orig_height;</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> height = panel_height;</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class='keyword'>case</span> GTK_ORIENTATION_VERTICAL:</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> <span class='keyword'>if</span> (background-&gt;rotate_image) {</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> width = orig_width * panel_width / orig_height;</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> height = panel_width;</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> width = panel_width;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> height = orig_height * panel_width / orig_width;</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr (((gchar*) 0), "panel-background.c"<br>, 304, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (background-&gt;stretch_image) {</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> <span class='keyword'>if</span> (background-&gt;orientation == GTK_ORIENTATION_VERTICAL &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> background-&gt;rotate_image) {</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> width = panel_height;</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> height = panel_width;</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> width = panel_width;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> height = panel_height;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (background-&gt;orientation == GTK_ORIENTATION_VERTICAL &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> background-&gt;rotate_image) {</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> <span class='keyword'>int</span> tmp = width;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> width = height;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> height = tmp;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>if</span> (width == orig_width &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> height == orig_height) {</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> scaled = background-&gt;loaded_image;</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='macro'>g_object_ref (scaled)<span class='macro_popup'>((__typeof__ (scaled)) (g_object_ref) (scaled))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> scaled = gdk_pixbuf_scale_simple (</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> background-&gt;loaded_image,</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> width, height,</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> GDK_INTERP_BILINEAR);</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>if</span> (background-&gt;rotate_image &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> background-&gt;orientation == GTK_ORIENTATION_VERTICAL) {</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>if</span> (!background-&gt;has_alpha) {</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> guchar *dest;</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> guchar *src;</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='keyword'>int</span> destrowstride;</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='keyword'>int</span> srcrowstride;</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> retval = gdk_pixbuf_new (</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> GDK_COLORSPACE_RGB, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 8, height, width);</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> dest = gdk_pixbuf_get_pixels (retval);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> destrowstride = gdk_pixbuf_get_rowstride (retval);</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> src = gdk_pixbuf_get_pixels (scaled);</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> srcrowstride = gdk_pixbuf_get_rowstride (scaled);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>for</span> (y = 0; y &lt; height; y++)</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>for</span> (x = 0; x &lt; width; x++) {</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> guchar *dstptr = &amp; ( dest [3*y + destrowstride * (width - x - 1)] );</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> guchar *srcptr = &amp; ( src [y * srcrowstride + 3*x] );</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dstptr[0] = srcptr[0];</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> dstptr[1] = srcptr[1];</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dstptr[2] = srcptr[2];</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_object_unref (scaled);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> guint32 *dest;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> guint32 *src;</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>int</span> x, y;</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> <span class='keyword'>int</span> destrowstride;</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>int</span> srcrowstride;</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> retval = gdk_pixbuf_new (</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> GDK_COLORSPACE_RGB, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 8, height, width);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> dest = (guint32 *) gdk_pixbuf_get_pixels (retval);</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> destrowstride = gdk_pixbuf_get_rowstride (retval) / 4;</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> src = (guint32 *) gdk_pixbuf_get_pixels (scaled);</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> srcrowstride = gdk_pixbuf_get_rowstride (scaled) / 4;</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> <span class='keyword'>for</span> (y = 0; y &lt; height; y++)</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> <span class='keyword'>for</span> (x = 0; x &lt; width; x++)</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> dest [y + destrowstride * (width - x - 1)] =</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> src [y * srcrowstride + x];</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> g_object_unref (scaled);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> retval = scaled;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line">panel_background_transform (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> <span class='keyword'>if</span> (background-&gt;region.width == -1)</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='keyword'>if</span> (background-&gt;type == PANEL_BACK_IMAGE)</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> background-&gt;transformed_image =</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> get_scaled_and_rotated_pixbuf (background);</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> background-&gt;transformed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> panel_background_composite (background);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line">panel_background_update_has_alpha (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> gboolean has_alpha = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> <span class='keyword'>if</span> (background-&gt;type == PANEL_BACK_COLOR)</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> has_alpha = (background-&gt;color.alpha &lt; 1.);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (background-&gt;type == PANEL_BACK_IMAGE &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> background-&gt;loaded_image)</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> has_alpha = gdk_pixbuf_get_has_alpha (background-&gt;loaded_image);</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> background-&gt;has_alpha = (has_alpha != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line">load_background_file (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (background-&gt;image, G_FILE_TEST_IS_REGULAR))</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='comment'>/* FIXME add a monitor on the file so that we reload the background</span></td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='comment'>* when it changes</span></td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> background-&gt;loaded_image =</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> gdk_pixbuf_new_from_file (background-&gt;image, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='keyword'>if</span> (!background-&gt;loaded_image) {</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> <span class='macro'>g_assert (error != NULL)<span class='macro_popup'>do { if (error != ((void*)0)) ; else g_assertion_message_expr<br> (((gchar*) 0), "panel-background.c", 437, ((const char*) (__func__<br>)), "error != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> g_warning (<span class='macro'>G_STRLOC<span class='macro_popup'>"panel-background.c" ":" "438"</span></span> <span class='string_literal'>": unable to open '%s': %s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> background-&gt;image, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> panel_background_update_has_alpha (background);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">panel_background_set_type (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> PanelBackgroundType type)</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='keyword'>if</span> (background-&gt;type == type)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> background-&gt;type = type;</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> panel_background_update_has_alpha (background);</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> panel_background_transform (background);</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line">panel_background_set_color_no_update (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='keyword'>const</span> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> <span class='macro'>g_return_if_fail (color != NULL)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (gdk_rgba_equal (color, &amp;background-&gt;color))</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> background-&gt;color = *color;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> panel_background_update_has_alpha (background);</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line">panel_background_set_color (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>const</span> GdkRGBA *color)</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_return_if_fail (color != NULL)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> <span class='keyword'>if</span> (gdk_rgba_equal (color, &amp;background-&gt;color))</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> panel_background_set_color_no_update (background, color);</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> panel_background_transform (background);</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line">panel_background_set_image_no_update (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *image)</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>g_clear_object (&amp;background-&gt;loaded_image)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;background-&gt;loaded_image<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;background-&gt;loaded_image))) _pp = ((&amp;background<br>-&gt;loaded_image)); __typeof__ (*((&amp;background-&gt;loaded_image<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> g_free (background-&gt;image);</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>if</span> (image &amp;&amp; image [0])</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> background-&gt;image = <span class='macro'>g_strdup (image)<span class='macro_popup'>g_strdup_inline (image)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> background-&gt;image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> panel_background_update_has_alpha (background);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line">panel_background_set_image (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *image)</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>if</span> (!background-&gt;image &amp;&amp; !image)</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>if</span> (background-&gt;image &amp;&amp; image &amp;&amp; !strcmp (background-&gt;image, image))</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> panel_background_set_image_no_update (background, image);</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> panel_background_transform (background);</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line">panel_background_set_fit_no_update (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> gboolean fit_image)</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> background-&gt;fit_image = fit_image != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">panel_background_set_fit (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> gboolean fit_image)</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> fit_image = fit_image != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> <span class='keyword'>if</span> (background-&gt;fit_image == fit_image)</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> panel_background_set_fit_no_update (background, fit_image);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> panel_background_transform (background);</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line">panel_background_set_stretch_no_update (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> gboolean stretch_image)</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> background-&gt;stretch_image = stretch_image != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line">panel_background_set_stretch (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> gboolean stretch_image)</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> stretch_image = stretch_image != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> <span class='keyword'>if</span> (background-&gt;stretch_image == stretch_image)</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> panel_background_set_stretch_no_update (background, stretch_image);</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> panel_background_transform (background);</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line">panel_background_set_rotate_no_update (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> gboolean rotate_image)</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> background-&gt;rotate_image = rotate_image != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line">panel_background_set_rotate (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> gboolean rotate_image)</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> rotate_image = rotate_image != <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> <span class='keyword'>if</span> (background-&gt;rotate_image == rotate_image)</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> panel_background_set_rotate_no_update (background, rotate_image);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> panel_background_transform (background);</td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line">panel_background_set (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> PanelBackgroundType type,</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>const</span> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *image,</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> gboolean fit_image,</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gboolean stretch_image,</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gboolean rotate_image)</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> panel_background_set_color_no_update (background, color);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> panel_background_set_image_no_update (background, image);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> panel_background_set_fit_no_update (background, fit_image);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> panel_background_set_stretch_no_update (background, stretch_image);</td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> panel_background_set_rotate_no_update (background, rotate_image);</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> panel_background_set_type (background, type);</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line">panel_background_set_default_style (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> <span class='keyword'>const</span> GdkRGBA *color,</td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> cairo_pattern_t *pattern)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> <span class='macro'>g_return_if_fail (color != NULL)<span class='macro_popup'>do { if ((color != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "color != NULL");<br> return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> background-&gt;default_color = *color;</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='keyword'>if</span> (pattern)</td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> cairo_pattern_reference (pattern);</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>if</span> (background-&gt;default_pattern)</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> cairo_pattern_destroy (background-&gt;default_pattern);</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> background-&gt;default_pattern = pattern;</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>if</span> (background-&gt;type == PANEL_BACK_NONE)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> panel_background_prepare (background);</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">panel_background_realized (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> GdkWindow *window)</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='macro'>g_return_if_fail (window != NULL)<span class='macro_popup'>do { if ((window != ((void*)0))) { } else { g_return_if_fail_warning<br> (((gchar*) 0), ((const char*) (__func__)), "window != NULL")<br>; return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='keyword'>if</span> (background-&gt;window)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> background-&gt;window = <span class='macro'>g_object_ref (window)<span class='macro_popup'>((__typeof__ (window)) (g_object_ref) (window))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> panel_background_prepare_css ();</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> panel_background_prepare (background);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line">panel_background_unrealized (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='keyword'>if</span> (background-&gt;window)</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> g_object_unref (background-&gt;window);</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> background-&gt;window = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line">panel_background_change_region (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> GtkOrientation orientation,</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='keyword'>int</span> y,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='keyword'>int</span> width,</td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> <span class='keyword'>int</span> height)</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> gboolean need_to_retransform = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> gboolean need_to_reprepare = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>if</span> (background-&gt;region.x == x &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> background-&gt;region.y == y &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> background-&gt;region.width == width &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> background-&gt;region.height == height &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> background-&gt;orientation == orientation)</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> <span class='comment'>/* we only need to retransform anything</span></td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> <span class='comment'>on size/orientation changes if the</span></td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> <span class='comment'>background is an image and some</span></td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='comment'>conditions are met */</span></td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> <span class='keyword'>if</span> (background-&gt;type == PANEL_BACK_IMAGE) {</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> <span class='keyword'>if</span> (background-&gt;orientation != orientation &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> background-&gt;rotate_image) {</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> <span class='comment'>/* if orientation changes and we are rotating */</span></td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> need_to_retransform = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> ((background-&gt;region.width != width ||</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> background-&gt;region.height != height) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> (background-&gt;fit_image ||</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> background-&gt;stretch_image)) {</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='comment'>/* or if the size changes and we are</span></td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line"> <span class='comment'>stretching or fitting the image */</span></td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> need_to_retransform = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line"> <span class='comment'>/* if size changed, we at least need</span></td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line"> <span class='comment'>to "prepare" the background again */</span></td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> <span class='keyword'>if</span> (background-&gt;region.width != width ||</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> background-&gt;region.height != height)</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> need_to_reprepare = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> background-&gt;region.x = x;</td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> background-&gt;region.y = y;</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> background-&gt;region.width = width;</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> background-&gt;region.height = height;</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> background-&gt;orientation = orientation;</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> <span class='keyword'>if</span> (need_to_retransform || ! background-&gt;transformed)</td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='comment'>/* only retransform the background if we have in</span></td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> <span class='comment'>fact changed size/orientation */</span></td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> panel_background_transform (background);</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (background-&gt;has_alpha || ! background-&gt;composited)</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> <span class='comment'>/* only do compositing if we have some alpha</span></td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> <span class='comment'>value to worry about */</span></td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> panel_background_composite (background);</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (need_to_reprepare)</td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='comment'>/* at least we must prepare the background</span></td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> <span class='comment'>if the size changed */</span></td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> panel_background_prepare (background);</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line">panel_background_init (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> PanelBackgroundChangedNotify notify_changed,</td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> background-&gt;type = PANEL_BACK_NONE;</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> background-&gt;notify_changed = notify_changed;</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> background-&gt;user_data = user_data;</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> background-&gt;color.red = 0.;</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> background-&gt;color.blue = 0.;</td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> background-&gt;color.green = 0.;</td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> background-&gt;color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> background-&gt;image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> background-&gt;loaded_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> background-&gt;orientation = GTK_ORIENTATION_HORIZONTAL;</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> background-&gt;region.x = -1;</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> background-&gt;region.y = -1;</td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> background-&gt;region.width = -1;</td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> background-&gt;region.height = -1;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> background-&gt;transformed_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> background-&gt;composited_pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> background-&gt;window = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> background-&gt;default_pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> background-&gt;default_color.red = 0.;</td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> background-&gt;default_color.green = 0.;</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> background-&gt;default_color.blue = 0.;</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> background-&gt;default_color.alpha = 1.;</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> background-&gt;fit_image = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> background-&gt;stretch_image = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> background-&gt;rotate_image = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> background-&gt;has_alpha = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> background-&gt;transformed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> background-&gt;composited = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line">panel_background_free (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> free_transformed_resources (background);</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> <span class='macro'>g_clear_pointer (&amp;background-&gt;image, g_free)<span class='macro_popup'>do { _Static_assert (sizeof *(&amp;background-&gt;image) == sizeof<br> (gpointer), "Expression evaluates to false"); __typeof__ ((&amp;<br>background-&gt;image)) _pp = (&amp;background-&gt;image); __typeof__<br> (*(&amp;background-&gt;image)) _ptr = *_pp; *_pp = ((void*)0<br>); if (_ptr) (g_free) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> <span class='macro'>g_clear_object (&amp;background-&gt;loaded_image)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;background-&gt;loaded_image<br>)) == sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;background-&gt;loaded_image))) _pp = ((&amp;background<br>-&gt;loaded_image)); __typeof__ (*((&amp;background-&gt;loaded_image<br>))) _ptr = *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref<br>) (_ptr); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> <span class='macro'>g_clear_object (&amp;background-&gt;window)<span class='macro_popup'>do { _Static_assert (sizeof *((&amp;background-&gt;window)) ==<br> sizeof (gpointer), "Expression evaluates to false"); __typeof__<br> (((&amp;background-&gt;window))) _pp = ((&amp;background-&gt;<br>window)); __typeof__ (*((&amp;background-&gt;window))) _ptr =<br> *_pp; *_pp = ((void*)0); if (_ptr) (g_object_unref) (_ptr); }<br> while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> <span class='keyword'>if</span> (background-&gt;default_pattern)</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"> cairo_pattern_destroy (background-&gt;default_pattern);</td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> background-&gt;default_pattern = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line">panel_background_make_string (PanelBackground *background,</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> <span class='keyword'>int</span> x,</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line"> <span class='keyword'>int</span> y)</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"> PanelBackgroundType effective_type;</td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line"> retval = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> effective_type = panel_background_effective_type (background);</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> <span class='keyword'>if</span> (effective_type == PANEL_BACK_IMAGE) {</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> <span class='keyword'>if</span> (!background-&gt;composited_pattern)</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> <span class='keyword'>return</span> <span class="mrange"><span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:32ex">This statement is never executed</div></td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> <span class='keyword'>if</span> (cairo_pattern_get_surface (background-&gt;composited_pattern, &amp;surface) != CAIRO_STATUS_SUCCESS)</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> <span class='keyword'>if</span> (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_XLIB)</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> retval = g_strdup_printf (<span class='string_literal'>"pixmap:%d,%d,%d"</span>, (guint32)cairo_xlib_surface_get_drawable (surface), x, y);</td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (effective_type == PANEL_BACK_COLOR) {</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> gchar *rgba = gdk_rgba_to_string (&amp;background-&gt;color);</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> retval = g_strdup_printf (</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> <span class='string_literal'>"color:%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> rgba);</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> g_free (rgba);</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> } <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> retval = <span class='macro'>g_strdup (<span class='string_literal'>"none:"</span>)<span class='macro_popup'>g_strdup_inline ("none:")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line">PanelBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line">panel_background_get_type (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> <span class='keyword'>return</span> background-&gt;type;</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"><span class='keyword'>const</span> GdkRGBA *</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line">panel_background_get_color (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> <span class='keyword'>return</span> &amp;(background-&gt;color);</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"><span class='comment'>/* What are we actually rendering - e.g. if we're supposed to</span></td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> <span class='comment'>* be rendering an image, but haven't got a valid image, then</span></td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> <span class='comment'>* we're rendering the default gtk background.</span></td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line">PanelBackgroundType</td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line">panel_background_effective_type (PanelBackground *background)</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> PanelBackgroundType retval;</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> retval = background-&gt;type;</td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> <span class='keyword'>if</span> (background-&gt;type == PANEL_BACK_IMAGE &amp;&amp; !background-&gt;composited_pattern)</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> retval = PANEL_BACK_NONE;</td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/scanview.css b/2024-04-04-041623-13412-1@d45586734d1f_master/scanview.css
new file mode 100644
index 00000000..cf8a5a6a
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2024-04-04-041623-13412-1@d45586734d1f_master/sorttable.js b/2024-04-04-041623-13412-1@d45586734d1f_master/sorttable.js
new file mode 100644
index 00000000..32faa078
--- /dev/null
+++ b/2024-04-04-041623-13412-1@d45586734d1f_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};